日历

2019年十月
« 9月    
 123456
78910111213
14151617181920
21222324252627
28293031  

最近评论

    MS应用

    自动草稿

    Sql Server、Oracle以及Access数据库 判断字段是否为空的办法 (From calmzeal’s code life)

    Oracle :
    Nvl
    NVL函数:
    NVL函数是将NULL值的字段转换成默认字段输出。

    NVL(expr1,expr2)
    expr1,需要转换的字段名或者表达式。
    expr2,null的替代值

    下面是NUMBER, DATE, CHAR OR VARCHAR2的例子:
    NVL(commission_pct,0)
    NVL(hire_date,’01-JAN-97′)
    NVL(job_id,’No Job Yet’)

    Sql Server:
    IsNull
    如果是Null,就返回指定的值,否则返回原值。

    select userName,IsNULL(address,’无’) from [user]…

    ——————————————————————
    NullIF
    会在两个值(或者表达式)相等的时候返回null,否则返回第一个参数。

    select Sum(NullIf(price,100)) from …

    如果价格是100,就当null处理,sum()会忽略null值,所以…

    ———————————————————————-
    COALESCE
    会返回第一个非空的值,参数是任意多个。

    select Coalesce(homephone,officePhone,mobile) from….

    只要有一个电话号码被填写了,就一定会返回一个值。
    ———————————————————————–

    Access:
    Nz
    同Sql Server IsNull。只能在Access程序中使用,Jet ADO不支持
    select userName,Nz(address,’无’) from [user]…

    IIF
    select userName,IIF(address is null,’无’,address) from [user]…

    select userName,IIF(address is null,’没写’,’写了’) from [user]…

    评论已关闭。