首页 > 解决方案 > 在 CASE 语句评估中检测未预期的值

问题描述

T-SQL 中有没有办法在 CASE 条件中收集所有未考虑的值并将它们插入到表中?

例如:

一个 SELECT 读取在 Col1 中具有值 A、B、C 的表。这个 SELECT 有一个像这样的 CASE:CASE WHEN Col1 = 1 THEN ... WHEN Col1 = B THEN ... ELSE NULL END AS NewCol1

我想检测像 C 这样的值,Col1 中没有考虑到的值。我可以像这样得到它们: (...) ELSE Tabl1.Col1但我需要 CASE 语句以ELSE NULL.

标签: tsql

解决方案


您可以像这样获取这些值的列表:

SELECT DISTINCT Col1
FROM Table
WHERE Col1 not in (1,...,B)

推荐阅读