我有一个存储过程,我需要根据5个值来提取数据,但有时其中一个值为空。虽然列不是空的但是NULL,所以我需要它以某种方式检查它是否为NULL。
这是我的代码:
SELECT UVC
FROM [Blackbook].[VehicleUvc]
WHERE Year = @Year
AND Make = @Make
AND Model = @Model
AND Series = @Series
AND Style = @Style
所以@Series
有时候是一个空字符串,因此我需要它来检查它是否为空时是否为空,否则它将执行它当前正在做的事情,并根据它查找数据正常值。那是我在代码中可以做的事情,还是在声明变量时我必须要做的事情?
类似的东西:
IF (@Series = '') { Series IS NULL } ELSE { Series = @Series }
答案 0 :(得分:1)
您可以在表格列上使用ISNULL,如果它为空,则将其视为''所以,如果变量是''当列为空时,它们会匹配:
SELECT UVC
FROM [Blackbook].[VehicleUvc]
WHERE ISNULL(Year, '') = @Year
AND ISNULL(Make, '') = @Make
AND ISNULL(Model, '') = @Model
AND ISNULL(Series, '') = @Series
AND ISNULL(Style, '') = @Style