打不死的心态活到老。

Sql Server、Oracle以及Access数据库 判断字段是否为空的办法

上一篇 / 下一篇  2008-05-19 23:41:13 / 个人分类:数据库

Sql Server、Oracle以及Access数据库 判断字段是否为空的办法

&XnGPm*S(rCC0Oracle :
\y9zQ c,R6j!W(Q0Nvl
4l S;d!? M1? N,^k0NVL函数:51Testing软件测试网D2w0S\e jPv
NVL函数是将NULL值的字段转换成默认字段输出。51Testing软件测试网.Q ~LmF.a'}BpC;q
51Testing软件测试网#S7N;s GP+C@?
NVL(expr1,expr2)
%z_XL6{eR0expr1,需要转换的字段名或者表达式。51Testing软件测试网.bp9nO3Z
expr2,null的替代值51Testing软件测试网Ee'pr%U9v2Je

,Cz8i:UjAP u0下面是NUMBER, DATE, CHAR OR VARCHAR2的例子:51Testing软件测试网{Zp"Jjx0~(`
NVL(commission_pct,0)51Testing软件测试网LX RBXH9a
NVL(hire_date,'01-JAN-97')51Testing软件测试网s)s4n.h7b(t
NVL(job_id,'No Job Yet')51Testing软件测试网x.A4F8X W xu

KgQd&r%Foi x5}0Sql Server:51Testing软件测试网ULoV @
IsNull51Testing软件测试网J WUCRR
如果是Null,就返回指定的值,否则返回原值。
[5\7P.q1EvvB:TG0
-fZtVio m^0select userName,IsNULL(address,'无') from [user]...51Testing软件测试网@;[U6^i9z%u+lZ@

5Hq {&[-ajE*vL0------------------------------------------------------------------51Testing软件测试网s|'Ap$^8}5MX
NullIF
o2dTG;q0会在两个值(或者表达式)相等的时候返回null,否则返回第一个参数。
]U b @6yx Xc/f)Y0
m*n-k;i6Q.h `0select Sum(NullIf(price,100)) from ...
jK~3`'n&js#UN051Testing软件测试网'xL3P cU.[b
如果价格是100,就当null处理,sum()会忽略null值,所以...51Testing软件测试网 }|y5\bD+w f
51Testing软件测试网)gw)C"^iy {q7n
----------------------------------------------------------------------51Testing软件测试网K(|$L I1H
COALESCE51Testing软件测试网Us2B+i:?{+{/f
会返回第一个非空的值,参数是任意多个。51Testing软件测试网a*_L F`EV@
51Testing软件测试网Z x*L@C.VQ
select Coalesce(homephone,officePhone,mobile) from....
\-~nW}t0
}2_t5Z p}0pN3Y0只要有一个电话号码被填写了,就一定会返回一个值。
0s!],?y#[(oM e0-----------------------------------------------------------------------51Testing软件测试网)S!m{0~!ai+sP
51Testing软件测试网*Ezq3uTP~$j-M
Access:
]!}!GF*b%JHi[3Ca(x0Nz51Testing软件测试网b X~)r:x(A0C4nL:z
同Sql Server IsNull。只能在Access程序中使用,Jet ADO不支持
,IAeB||.q0select userName,Nz(address,'无') from [user]...51Testing软件测试网:c-Vf4K?!@!i

9N `!W9\O"lN0IIF
wS4JP k!a0select userName,IIF(address is null,'无',address) from [user]...51Testing软件测试网{8bY.t f\*cH-R
51Testing软件测试网;C:Ws,B I;BSW#_
select userName,IIF(address is null,'没写','写了') from [user]...51Testing软件测试网lB!CM6L5jP

_6ul M8{0

TAG: 数据库

 

评分:0

我来说两句

Open Toolbar