• 技术文章 >数据库 >mysql教程

    sql is not null 与 is null 用法

    2016-06-07 17:48:00原创935

    如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新纪录或更新已有的记录。这意味着该字段将以 NULL 值保存。

    NULL 值的处理方式与其他值不同。

    NULL 用作未知的或不适用的值的占位符。

    注释:无法比较 NULL 和 0;它们是不等价的。

    is not null实例

    5> create table Billings (
    6> BankerID INTEGER,
    7> BillingNumber INTEGER,
    8> BillingDate datetime,
    9> BillingTotal INTEGER,
    10> TermsID INTEGER,
    11> BillingDueDate datetime ,
    12> PaymentTotal INTEGER,
    13> CreditTotal INTEGER
    14>
    15> );
    16> GO
    1>
    2> INSERT INTO Billings VALUES (1, 1, '2005-01-22', 165, 1,'2005-04-22',123,321);
    3> GO

    (1 rows affected)
    1> INSERT INTO Billings VALUES (2, 2, '2001-02-21', 165, 1,'2002-02-22',123,321);
    2> GO

    (1 rows affected)
    1> INSERT INTO Billings VALUES (3, 3, '2003-05-02', 165, 1,'2005-04-12',123,321);
    2> GO

    (1 rows affected)
    1> INSERT INTO Billings VALUES (4, 4, '1999-03-12', 165, 1,'2005-04-18',123,321);
    2> GO

    (1 rows affected)
    1> INSERT INTO Billings VALUES (5, 5, '2000-04-23', 165, 1,'2005-04-17',123,321);
    2> GO

    (1 rows affected)
    1> INSERT INTO Billings VALUES (6, 6, '2001-06-14', 165, 1,'2005-04-18',123,321);
    2> GO

    (1 rows affected)
    1> INSERT INTO Billings VALUES (7, 7, '2002-07-15', 165, 1,'2005-04-19',123,321);
    2> GO

    (1 rows affected)
    1> INSERT INTO Billings VALUES (8, 8, '2003-08-16', 165, 1,'2005-04-20',123,321);
    2> GO

    (1 rows affected)
    1> INSERT INTO Billings VALUES (9, 9, '2004-09-17', 165, 1,'2005-04-21',123,321);
    2> GO

    (1 rows affected)
    1> INSERT INTO Billings VALUES (0, 0, '2005-10-18', 165, 1,'2005-04-22',123,321);
    2> GO

    (1 rows affected)
    1>
    2>
    3> SELECT *
    4> FROM Billings
    5> WHERE BillingTotal IS NOT NULL
    6> GO
    BankerID BillingNumber BillingDate BillingTotal TermsID BillingDueDate PaymentTotal CreditTotal
    ----------- ------------- ----------------------- ------------ ----------- ----------------------- ------------ -----------
    1 1 2005-01-22 00:00:00.000 165 1 2005-04-22 00:00:00.000 123 321
    2 2 2001-02-21 00:00:00.000 165 1 2002-02-22 00:00:00.000 123 321
    3 3 2003-05-02 00:00:00.000 165 1 2005-04-12 00:00:00.000 123 321
    4 4 1999-03-12 00:00:00.000 165 1 2005-04-18 00:00:00.000 123 321
    5 5 2000-04-23 00:00:00.000 165 1 2005-04-17 00:00:00.000 123 321
    6 6 2001-06-14 00:00:00.000 165 1 2005-04-18 00:00:00.000 123 321
    7 7 2002-07-15 00:00:00.000 165 1 2005-04-19 00:00:00.000 123 321
    8 8 2003-08-16 00:00:00.000 165 1 2005-04-20 00:00:00.000 123 321
    9 9 2004-09-17 00:00:00.000 165 1 2005-04-21 00:00:00.000 123 321
    0 0 2005-10-18 00:00:00.000 165 1 2005-04-22 00:00:00.000 123 321

    (10 rows affected)
    1>
    2> drop table Billings;
    3> GO

    is null 判断为空的内容

    4>
    5> CREATE TABLE titleauthor(
    6> au_id varchar(20),
    7> title_id varchar(20),
    8> au_ord tinyint NULL,
    9> royaltyper int NULL
    10> )
    11> GO
    1>
    2> insert titleauthor values(null, '2', 1, 60)
    3> insert titleauthor values('2', '3', 1, 100)
    4> insert titleauthor values('3', '4', 1, 100)
    5> insert titleauthor values('4', '5', 1, 100)
    6> insert titleauthor values('5', '6', 1, 100)
    7> insert titleauthor values('6', '7', 2, 40)
    8> insert titleauthor values('7', '8', 1, 100)
    9> insert titleauthor values('8', '9', 1, 100)
    10> GO

    (1 rows affected)

    (1 rows affected)

    (1 rows affected)

    (1 rows affected)

    (1 rows affected)

    (1 rows affected)

    (1 rows affected)

    (1 rows affected)
    1>
    2> * from titleauthor where au_id is null;
    3> GO
    au_id title_id au_ord royaltyper
    -------------------- -------------------- ------ -----------
    NULL 2 1 60

    (1 rows affected)
    1> select * from titleauthor where au_id = null;
    2> GO
    au_id title_id au_ord royaltyper
    -------------------- -------------------- ------ -----------

    (0 rows affected)

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:nbsp gt affected 00.000 INSERT
    上一篇:asp.net 与 sql事物处理 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • MySQL学习之聊聊查询语句执行流程• hive和mysql的区别有哪些• mysql数据库的超级管理员名称是什么• mysql怎么连接数据库• mysql事务隔离级别有哪些
    1/1

    PHP中文网