SQL server中isnull函数使用注意事项

SQL server数据库中,可以采用isnull()函数进行为空判断。

用法:

ISNULL(check_expression:any, replacement_value:any)

该函数需要两个参数。第一个为表达式。第二个为要返回的值。如果表达式为空,则返回第二个值。

该函数要求check_expression与replacement_value的数据类型必须一致(类型一致:包括字段长度)。

若第一个参数的长度过短,第二个参数过长,则会导致第二个参数的长度会被截取。如下图所示:

isnull(SPEC_ANALYTES.TESTNO, TESTS.TESTNO) as TESTNO

 

 

第一个参数字段为nvarchar(50),第二个参数字段长度为nvarchar(350)。因为第一个参数的长度是50,并且空的时候,会将第二个字段进行截取,引起部分字段丢失。

因此可以通过cast函数进行修改,将两个参数的值修改一致。

isnull(cast(SPEC_ANALYTES.TESTNO as nvarchar(350)), TESTS.TESTNO) as TESTNO

 

posted @ 2023-12-12 20:04  kowqq  阅读(136)  评论(0编辑  收藏  举报