sqlserver空值转换函数ISNULL与Coalesce的区别

时间:2024-10-12 01:15:29

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,)

sqlserver空值转换函数ISNULL与Coalesce的区别

2、往测试表 NullTestTbl 中插入多行测试数据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);

sqlserver空值转换函数ISNULL与Coalesce的区别

3、使用ISNULL判断值为NULL的数据,从执行结果看出,ISNULL对值为NULL的字段会转换为指定的值返回

sqlserver空值转换函数ISNULL与Coalesce的区别

4、使用ISNULL判断值为空字符串的数据,从执行结果看出,ISNULL对空字符串值,并不会进行转换,直接返回空字符串

sqlserver空值转换函数ISNULL与Coalesce的区别

5、使用Coalesce判断值为NULL的数据,从直接结果看出,Coalesce对值为NULL的字段会转换为指定的值返回

sqlserver空值转换函数ISNULL与Coalesce的区别

6、使用Coalesce判断值为空字符串的数据,从执行结果看出,Coalesce对空字符串值,并不会进行转换,直接返回空字符串。 网上有很多都说Coalesce判断值为空字符串,会返回后面指定的值,其实网上说法是错误的,都没经过验证

sqlserver空值转换函数ISNULL与Coalesce的区别

7、ISNULL与Coalesce的区别 1)两个函数对于NULL、空字符串的判断都是一样的效果 2)ISNULL最多只有两个参数;Coalesce可以多很多个参数,但是,必须有一个参数返回结果不为NULL 3)Coalesce返回所有参数中第一个不是NULL的结果

sqlserver空值转换函数ISNULL与Coalesce的区别
© 手抄报圈