我正在使用Transact SQL,并且我遇到以下示例代码评估为true的问题:
CASE
WHEN [ProductName] = 'Example' AND [Payment] > 0 THEN 'Category A'
ELSE 'Category B'
END
这个问题是否因类型错误而导致?独立检查时,它们都会解析为“A类”。但是,当与AND语句结合使用时,它们将解析为“B类”。
有关如何修复的想法吗?
答案 0 :(得分:0)
您正在检查的条件可能会在您独立运行时评估为'Category A'
。但是,这并不意味着当您使用AND逻辑运算符运行代码时,代码将评估为'Category A'
。
您的表/视图中的行似乎不符合同一行中的两个条件([ProductName] = 'Example' AND [Payment] > 0
)。
您是否使用以下查询检查了您的病情?
SELECT *
FROM tablename
WHERE [ProductName] = 'Example' AND [Payment] > 0