可以。
但是要看是怎么用,要是在values后面,那么我就不是十分确定了,毕竟没这么用过,你可以试试。
如果是insert select语句那么肯定是可以用的。
其实这种没必要用nvl,你可以在建立表的时候在相应字段设置一个默认值(default),如果插入值为null(或没有相应的插入值),那么就会自动转成默认值,根本用不到nvl函数的。
最好是: nvl(sum(aa),0)
因为 sum 本身会忽略 null的值,所以sum本身,不会出现 1行有数、另一行为null 而返回null 的情况。
但是由于 where 条件导致没有任何一条数据符合的情况, 此时 sum 会返回 null
所以 在最外层判断, 是合适的。
1、value函数
用法:select value(id,'') from merchant ;
如果id为空,返回空,如果id不为空,返回id的值;
2、nvl函数
用法:select nvl(id,'') from merchant ;
如果id为空,返回空,如果id不为空,返回id的值;
3、substr函数
用法:select substr(src_ip,1,2) from tbl_sybvclear_txn;
从src_ip第一位开始,取两位;
4、length函数
用法:select length(src_ip) from tbl_sybvclear_txn;
计算字符串的长度,不必赘述;
5、ltrim函数,rtrim函数
用法:去掉左侧,右侧的空格;
6、letf函数,right函数
用法:select left(src_ip,3),right(src_ip,3) from tbl_sybvclear_txn;
取src_ip左边3个,右边3个字符串;
7、concat函数
用法:select concat(src_ip,chl_resp) from tbl_sybvclear_txn;
字符串连接,mysql支持三个以上参数,db2只支持两个参数;
8、replace函数
用法:select src_ip,replace(src_ip,'223','55') from tbl_sybvclear_txn;
把src_ip中223全部替换成55;
9、to_char函数,to_date函数,to_timestamp函数
用法:将数值型转成字符型
10、avg函数
用法:select avg(mcht_fee) from tbl_sybvclear_txn;
返回mcht_fee平均值;
11、count函数
用法:太常用,不赘述;
12、sum函数
用法:太常用,不赘述;
13、max函数,min函数
用法:取某列的最大值,最小值;
都是oracle的函数
length()用于计算字符串长度,在mssql中对应函数为len()
nvl是NULL值替换函数,判断参数1为NULL的情况下替换输出参数2,
在mssql中的对应函数为isnull()
length(NVL(RZSJ,''))
输出RZSJ列值的长度,如果为NULL则输出空字符串的长度(0)
nvl只支持2个参数,这是oracle特有的
coalesce支持不定参数,coalesce(bonus,0,1)应该写成coalesce(bonus,0),最后1个不用写,这是ansi标准函数,在多次外连接时尤其有用,譬如 t1 full join t2 on t1id=t2id full join t3 on coalesce(t1id,t2id)=t3id full join t4 on coalesce(t1id,t2id,t3id)=t4id
decode判断不了非空
NVL(ARG,VALUE)达标如果前面的ARG值为NULL那么返回的值为后面的VALUE二者结合使用: \x0d\DECODE(NVL(M01NINUSI_NM,''),'','-',M01NINUSI_NM) \x0d\\x0d\首先判断--若M01NINUSI_NM是否为空若为空赋给空值[NVL函数] \x0d\\x0d\其次,判断取出的字段是否为空,如果是则赋给'-\x0d\\x0d\最后的默认处理是M01NINUSINM。
完全不同的两个函数,concat函数是把参数转化成字符串然后连接起来返回,如果有参数中有一个是Null的话就返回null,concat('A','B')返回结果就是'AB',
Nvl函数
是返回Null的替代值,有两个参数,例如
Nvl(Parameter1,Parameter2),如果Parameter1是Null,那就返回Parameter2,如果Parameter1不是Null,那就返回Parameter1。还有一个类似的函数是Nvl2,Nvl2函数有3
个参数,例如Nvl2(Parameter1,Parameter2,Parameter3),如果Parameter1不为null返回Parameter2,否则返回Parameter3
以上就是关于oracle数据库中nvl可以用于insert语句中吗全部的内容,包括:oracle数据库中nvl可以用于insert语句中吗、sql问题在写sum语句的时候关于nvl函数、db2数据库常用函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)