zoukankan      html  css  js  c++  java
  • Firebird中的NULL

    Firebird对于NULL的处理有很多需要注意的地方:
    1,定义表中的列是否可以为Null,语法是:create table MyTable ( i int not null )

    2,判断值是否为Null,用"is"关键字,例如 a is null/ a is not null

    3,对值赋予Null,用"="关键字,例如Update tablename set a = null where .....

    4,[A] is/is not distinct from [B],
         例如if ( A is distinct from B ) then...,
         需要注意下,distinct返回true的条件是A和B有不同的值,或一个为NULL,一个有值
     not distinct返回true的条件是A和B的值相同,或者都为空

    5,Null在运算中的用法
         在数字和字符串的运算中出现NULL的时候,它们的结果都会返回NULL,例如
    1 + 2 + 3 + NULL    //null
    'Home ' || 'sweet ' || NULL    //null
    MyField = NULL    //null

    6,Boolean运算符
    not NULL = NULL
    NULL or false = NULL
    NULL or true = true
    NULL or NULL = NULL
    NULL and false = false
    NULL and true = NULL
    NULL and NULL = NULL

    7,在IN表达式中的NULL
         A IN ( Expr1, Expr2, ..., ExprN ) ,相当与A=Expr1 or A=Expr2 or ... or A=ExprN,所以如果A为NULL,返回的结果一定都为NULL,但是在(Expr1,...)这个列表中如果有值为NULL的时候,则如果列表中存在A的值,那么“A IN( Expr1, Expr2, ..., ExprN )” returns true
    “A NOT IN( Expr1, Expr2, ..., ExprN )” returns false
         如果列表中不存在A的值
    “A IN( Expr1, Expr2, ..., ExprN )” returns NULL
    “A NOT IN( Expr1, Expr2, ..., ExprN )” returns NULL

    8,在Exists和SINGULAR(是否只有一条记录)表达式中的NULL
         Exists和SINGULAR的结果只返回true或false

    9,当ORDER BY中的列有NULL的时候,NULL被当作是最小的值来处理,如果是asc,就排列在最前面,如果是desc,就排列在最后面

    10,当在sum,count,MAX, MIN,AVG这些内在函数的时候都会忽略为NULL的行,特别要注意的是Count,count(*)和count(columnname)返回的结果是不一样的.count(columnname)会忽略掉为NULL的行

    11,在约束条件check设置的时候,例如check (a > 1);这里对NULL是不进行检测的,如果要去掉NULL,就要加上a is not null.

    12,SELECT DISTINCT中的NULL,会被当作相等的值来处理,例如SELECT DISTINCT name from dt,如果name有两行为NULL,那么这里就只能获取一行。

    13,nullif(express),例如nullif(name, 'a'),当name='a'的时候,它就转换为Null.
  • 相关阅读:
    网络编程
    网络编程
    网络编程
    Java——倒序输出Map集合
    java——assert(断言)方法
    Linux文件列表查询ll和ls区别
    Java——关键字和保留字
    Java——动态创建Class(不写入文件,直接从内存中创建class)
    web项目——启动时tomcat报错:Server Tomcat v7.0 Server at localhost failed to start.
    eclipse——管理远程资源的缓存,例如从Internet下载的资源。
  • 原文地址:https://www.cnblogs.com/top5/p/1457919.html
Copyright © 2011-2022 走看看