在T-SQL中有一个内联选项可以检查null和blank



我有一个WebForms应用程序,它将以下错误结果集绑定到数据网格。

    SELECT missing.ID, '--Not Found--', '--Not Found--', 'Timeclock ID ('+missing.TimeClock_System_ID+') not found' AS ErrorMessage
    FROM @StudentRecords missing 
    WHERE missing.Registration_ID IS NULL

最后一列创建一个字符串,稍后绑定到数据网格,它通常看起来像这样:" timelock ID (1234) not found"

问题是当缺失时。TimeClock_System_ID == null整个字符串中断并返回"而不是" timelock ID () not found"

我目前的解决方案是:

ISNULL ( missing.TimeClock_System_ID , 'NULL' )

但是当值是一个空字符串时,这就失效了。

提前感谢:)

try:

ISNULL ( nullif(missing.TimeClock_System_ID,'') , 'NULL' )

您可以使用case语句:

case 
 when missing.TimeClock_System_Id is null 
      or missing.TimeClock_System_Id = '' then 'NULL'
 else missing.TimeClock_System_Id
end

最新更新