我正在使用事务处理SQL,并且在以下示例代码评估为true时遇到问题:
CASE
WHEN [ProductName] = 'Example' AND [Payment] > 0 THEN 'Category A'
ELSE 'Category B'
END
此问题是否由类型错误引起?当独立检查时,它们各自解析为"A类"。但是,当与 AND 语句连接时,它们解析为"类别 B"。
关于如何解决的任何想法?
当您独立运行这些条件时,它们可能会评估为'Category A'
。但是,这并不意味着使用 AND 逻辑运算符运行代码时,代码的计算结果将变为'Category A'
。
看起来您的表/视图中没有一行在同一行中同时满足两个条件([ProductName] = 'Example' AND [Payment] > 0
(。
您是否使用以下查询检查了您的状况?
SELECT *
FROM tablename
WHERE [ProductName] = 'Example' AND [Payment] > 0