sql 处理数据字段为NULL 若不为空则显示该值,若为空转换成别的值。

偶尔善良 提交于 2020-04-30 19:46:22
第一种方法:
判断字段是否为空,如果为空转成你要的字符
1.oracle :
nvl(“字段名”,’转换后的值’);//字段名是双引号,转换后的值是单引号
2.sql Server:
isnull(“字段名”,’转换后的值’)//字段名是双引号,转换后的值是单引号
3.mySql:
ifnull(字段名,’转换后的值’)//字段名不加引号,转换后的值是单引号





注:mySql 也有isnull  但是只判断并不会转换
例子:
oracle
SELECT USERNAME FROM B_USER;
SELECT nvl("USERNAME",'改变后的值') as username FROM B_USER;12
sql Server
SELECT ISNULL("USERNAME", '改变后的值') as username FROM B_USER1
mySql:
SELECT IFNULL(USERNAME,'改变后的值') as username FROM B_USER;1
第二种方法:
Select (Case When A Is Not Null Then A When A Is Null Then B End ) As A From Table
or
Select (Case When A Is Not Null Then A  Else B) As A From Table
当在sql拼接时推荐使用第二种方法,因为第一种的双引号会影响拼接的
————————————————————————————————————————————————
原文链接:https://blog.csdn.net/helei_qingzheng/article/details/78427646

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!