Sql 我认为这是一个很好的方法。我不喜欢用永远不会出现的值替换NULL的概念。我可以承认我写过像COALESCE(姓“xxxxxxx”)=SomeColumn@Cato这是我主要关心的问题,我写的参数的值从来都不存在,这是愚蠢的。我会将其标记为正确,希望没有性能
Sql 我认为这是一个很好的方法。我不喜欢用永远不会出现的值替换NULL的概念。我可以承认我写过像COALESCE(姓“xxxxxxx”)=SomeColumn@Cato这是我主要关心的问题,我写的参数的值从来都不存在,这是愚蠢的。我会将其标记为正确,希望没有性能,sql,sql-server,Sql,Sql Server,我认为这是一个很好的方法。我不喜欢用永远不会出现的值替换NULL的概念。我可以承认我写过像COALESCE(姓“xxxxxxx”)=SomeColumn@Cato这是我主要关心的问题,我写的参数的值从来都不存在,这是愚蠢的。我会将其标记为正确,希望没有性能问题。 EXISTS( SELECT * FROM ExistTable WHERE ExTableFieldA = @SomeGuid AND ExTableFieldB
我认为这是一个很好的方法。我不喜欢用永远不会出现的值替换NULL的概念。我可以承认我写过像COALESCE(姓“xxxxxxx”)=SomeColumn@Cato这是我主要关心的问题,我写的参数的值从来都不存在,这是愚蠢的。我会将其标记为正确,希望没有性能问题。
EXISTS(
SELECT
*
FROM
ExistTable
WHERE
ExTableFieldA = @SomeGuid AND
ExTableFieldB = MainTableFieldB AND
ExTableFieldA <> (
CASE
WHEN MainTableFieldZ = 10 THEN MainTableFieldYYY
ELSE NULL
END
)
)
WHERE ExTableFieldA = @SomeGuid AND
ExTableFieldB = MainTableFieldB AND
(MainTableFieldZ <> 10 OR ExTableFieldA <> MainTableFieldYYY)
ISNULL(ExTableFieldA,'') <> (
CASE
WHEN MainTableFieldZ = 10 THEN MainTableFieldYYY
ELSE ''
END
)