如何使用SQL select语句检查列是空还是空?
例如,如果我想检查:
select * from UserProfile WHERE PropertydefinitionID in (40, 53) and PropertyValue is null or empty
Run Code Online (Sandbox Code Playgroud)
Chr*_*rin 34
这样做你想要的吗?
SELECT *
FROM UserProfile
WHERE PropertydefinitionID in (40, 53)
AND ( PropertyValue is NULL
or PropertyValue = '' );
Run Code Online (Sandbox Code Playgroud)
Den*_*vin 19
这是一个略有不同的方式:
SELECT *
FROM UserProfile
WHERE PropertydefinitionID in (40, 53)
AND (LEN(ISNULL(PropertyValue,'')) = 0)
Run Code Online (Sandbox Code Playgroud)
这是我检查"if null或empty"的首选方法:
SELECT *
FROM UserProfile
WHERE PropertydefinitionID in (40, 53)
AND NULLIF(PropertyValue, '') is null
Run Code Online (Sandbox Code Playgroud)
由于它修改了搜索参数(SARG),因此可能会出现性能问题,因为它可能不会使用PropertyValue列上的现有索引.
如果您希望将空白和 NULLS 显示为其他文本,例如“未分类”,您可以简单地说...
SELECT ISNULL(NULLIF([PropertyValue], ''), 'Uncategorized') FROM UserProfile
Run Code Online (Sandbox Code Playgroud)
以上很好地回答了主要问题。这个答案是它的延伸,对读者有价值。
归档时间: |
|
查看次数: |
129059 次 |
最近记录: |