两个独立的TRUE SQL语句组合为FALSE

时间:2018-05-11 22:53:26

标签: sql-server tsql

我正在使用Transact SQL,并且我遇到以下示例代码评估为true的问题:

CASE
  WHEN [ProductName] = 'Example' AND [Payment] > 0 THEN 'Category A'
  ELSE 'Category B'
END

这个问题是否因类型错误而导致?独立检查时,它们都会解析为“A类”。但是,当与AND语句结合使用时,它们将解析为“B类”。

有关如何修复的想法吗?

1 个答案:

答案 0 :(得分:0)

您正在检查的条件可能会在您独立运行时评估为'Category A'。但是,这并不意味着当您使用AND逻辑运算符运行代码时,代码将评估为'Category A'

您的表/视图中的行似乎不符合同一行中的两个条件([ProductName] = 'Example' AND [Payment] > 0)。

您是否使用以下查询检查了您的病情?

SELECT * 
FROM tablename 
WHERE [ProductName] = 'Example' AND [Payment] > 0