如何检查字段是否为空且空白?
我试图通过创建查看视图时数据库中不存在的空白空间的可能性。我遇到的问题是当我试图检查NULL
或空白值时,我的CASE
声明不能正常工作。它似乎适用于那些无效但空白似乎没有那么多运气的人。在这种情况下,我想检查空或空白的importantField
如何检查字段是否为空且空白?
CREATE VIEW Lookup4 AS
SELECT TOP 140000 CONCAT(no,
CASE WHEN (importantField is null OR importantField = '')
THEN '' ELSE ' ' + importantField END,
fieldname + ' ', anotherField2) AS UNRELATEDFIELD, Code,
CASE NAME
WHEN '101,,,,,' THEN 'value1e'
WHEN '14,,,,,' THEN 'value3'
WHEN '16,,,,,' THEN 'value4'
END AS NAME
FROM dbo.Lookup
这是你是什么
CREATE VIEW Lookup4 AS
SELECT TOP 140000 CONCAT(no,
CASE WHEN (ISNULL(importantField,'') = '')
THEN '' ELSE ' ' + importantField END,
fieldname + ' ', anotherField2) AS UNRELATEDFIELD, Code,
CASE NAME
WHEN '101,,,,,' THEN 'value1e'
WHEN '14,,,,,' THEN 'value3'
WHEN '16,,,,,' THEN 'value4'
END AS NAME
FROM dbo.Lookup
如果你只是想检查null而不是空字符串,那么你也可以使用IFNULL你尝试过。但是这也不适合空串。
SELECT IF(field1 IS NULL or field1 = '', 'empty', field1) as field1
from tablename
相信这些答案是正确的。 –
尝试改变:
importantField is null
与
IsNull(importantField)
CREATE VIEW Lookup4 AS
SELECT TOP 140000 CONCAT(no,ifnull(importantField,'')<>'',
fieldname + ' ', anotherField2) AS UNRELATEDFIELD, Code,
CASE NAME
WHEN '101,,,,,' THEN 'value1e'
WHEN '14,,,,,' THEN 'value3'
WHEN '16,,,,,' THEN 'value4'
END AS NAME
FROM dbo.Lookup
isnull函数需要2个参数。有任何想法吗? – DevAL
你也可以像ifnull一样使用isnull –
微小的变化经过交流盘带你的结果
方法1:
Select *
From dbo.Lookup
Where IsNull(importantField, '') = ''
方法2:
Select *
From dbo.Lookup
Where (importantField is NULL or importantField = '')
你有一个情况下_expression_和_columns_。 – jarlh
请检查这个问题 - https://*.com/questions/45461543/sql-isnull-is-not-working-and-returns-a-value-even-if-it-is-a-space –
与。长度我得到“无法绑定”的错误。 – DevAL