NVL是通过查询获得某个字段的合计值,如果这个值为null将给出一个预设的默认值。
如果是NULL, 则取指定值。
具体使用格式如下:
NVL( string1, replace_with)
具体功能如下:
如果string1为NULL,则NVL函数返回replace_with的值,否则返回原来的值。
引申一下,此NVL的作用与SQLserver 中的 ISNULL( string1, replace_with) 一样。
具体使用注意事项如下:
string1和replace_with必须为同一数据类型,除非显式的使用TO_CHAR函数。
例:NVL(TO_CHAR(numeric_column), 'some string') 其中numeric_column代指某个数字类型的值。
例:nvl(yanlei777,0) > 0
NVL(yanlei777, 0) 的意思是 如果 yanlei777 是NULL, 则取 0值
NVL是如果NULL, 则取指定值
NVL(F_nshuliang, 0) 的意思是 如果 F_nshuliang 是NULL, 则取 0值。
整句意思是 F_nshuliang的字段不为空
NVL(a,b)就是判断a是否是NULL,如果不是 则返回a的值,如果是 则返回b的值,b可以是一个固定值或者也可以是重新嵌套的函数求出的值。
nvl(F_nshuliang,0) > 0 就是判断F_nshuliang是否是NULL,如果不是 则返回a的值 并和0比较大小,如果是 则返回0,并和0比较大小