我编写了一个程序来从Error
表中提取所有记录。
它应该仅在Error
列不为NULL或空
Declare @StatementKey INT AS
Select Distinct
error.ErrorMessage,
row.RowNumber,
Statement.StatementKey,
Statement.StatementName
From
Statement
Join
Row row ON row.FK_StatementKey = Statement.Pk_StatementKey
Join
ErrorTable error ON row.RowNumber = error.RowNumber
Where
Statement.StatementKey = @StatementKey
AND (error.ErrorMessage IS NOT NULL OR error.ErrorMessage <> '')
我这样做了,但仍然会使用EMPTY ErrorMessage
列
但是当我做的时候
AND (error.ErrorMessage IS NOT NULL)
AND (error.ErrorMessage <> '')
然后它不会将EMPTY VALUE拉为空
有人可以告诉我一个更简单的方法,也许告诉我为什么?
谢谢你们。
答案 0 :(得分:1)
第一个查询中的最后一个AND语句不正确。您应该将其替换为:
AND NOT(error.ErrorMessage IS NULL OR error.ErrorMessage = '')
答案 1 :(得分:0)
您可以使用Coalesce:
Coalesce(error.ErrorMessage,'')<>''