sqlserver对于空值、NULL的判定与转换 , 最常用的就是ISNULL函数 , 那么 , 既然有了ISNULL函数 , 为什么还要引入Coalesce函数呢?它们之间有什么区别呢?
方式/
1打开SQL Server Management Studio办理东西 , 新建一张测试表 NullTestTbl
CREATE TABLE dbo.NullTestTbl(
Id varchar(40) NOT NULL,
Col1 varchar(50) NULL,
Col2 varchar(50) NULL,
Col3 varchar(50) NULL,
Col4 varchar(50) NULL,
)
文章插图
2往测试表 NullTestTbl 中插入多行测试数据
【sqlserver空值转换函数ISNULL与Coalesce的区别】INSERT INTO NullTestTbl(Id, Col1, Col2, Col3, Col4) VALUES(NEWID(), '第一行第二列', '第一行第三列', '第一行第四列', '第一行第五列');
INSERT INTO NullTestTbl(Id, Col1, Col2, Col3, Col4) VALUES(NEWID(), NULL, '第二行第三列', '第二行第四列', '第二行第五列');
INSERT INTO NullTestTbl(Id, Col1, Col2, Col3, Col4) VALUES(NEWID(), '', '第三行第三列', '第三行第四列', '第三行第五列');
INSERT INTO NullTestTbl(Id, Col1, Col2, Col3, Col4) VALUES(NEWID(), '', '', '', '第三行第五列');
INSERT INTO NullTestTbl(Id, Col1, Col2, Col3, Col4) VALUES(NEWID(), NULL, NULL, NULL, NULL);
文章插图
3利用ISNULL判定值为NULL的数据 , 从执行成果看出 , ISNULL对值为NULL的字段会转换为指定的值返回
文章插图
4利用ISNULL判定值为空字符串的数据 , 从执行成果看出 , ISNULL对空字符串值 , 并不会进行转换 , 直接返回空字符串
文章插图
5利用Coalesce判定值为NULL的数据 , 从直接成果看出 , Coalesce对值为NULL的字段会转换为指定的值返回
文章插图
6利用Coalesce判定值为空字符串的数据 , 从执行成果看出 , Coalesce对空字符串值 , 并不会进行转换 , 直接返回空字符串 。
网上有良多都说Coalesce判定值为空字符串 , 会返回后面指定的值 , 其实网上说法是错误的 , 都没颠末验证
文章插图
7ISNULL与Coalesce的区别
1)两个函数对于NULL、空字符串的判定都是一样的结果
2)ISNULL最多只有两个参数;Coalesce可以多良多个参数 , 可是 , 必需有一个参数返回成果不为NULL
3)Coalesce返回所有参数中第一个不是NULL的成果
文章插图
以上内容就是sqlserver空值转换函数ISNULL与Coalesce的区别的内容啦 , 希望对你有所帮助哦!
推荐阅读
- Markdown PDF插件转换PDF时Chromium下载失败
- 如何将Word中的数字快速转换成汉字大写
- 如何把文本转换成表格
- 怎么样用AI软件把PDF文件转换为CAD文件
- 用手机快速把表格转换成电子版的方法
- 如何把爱奇艺qsv格式转换为mp4格式
- 将Word文档转换为pdf格式
- 怎么把pdf文件转换成word 如何把pdf文件转换成word
- 怎么把MAC上写的word文档转换成windows形式
- Word文档怎样转换成PDF