tsql - 在 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
.
解决方案
您可以像这样获取这些值的列表:
SELECT DISTINCT Col1
FROM Table
WHERE Col1 not in (1,...,B)
推荐阅读
- swift - 如何在没有奇怪动作的情况下将视图作为背景 SwiftUI?
- amazon-web-services - Lightsail 网站能否访问不在 aws 平台上的 mysql 数据库
- python - 使用 numpy 数组格式化打印语句
- r - 在我的 Latex 表中使用 kableExtra() 打破超链接
- javascript - 数据表以编程方式搜索各个列
- javascript - 使用 `novalidate` 提交带有无效输入的表单
- spring-data-mongodb - 是否可以使用 @Indexed 或 @CompoundIndex 注释为特定集合创建索引
- php - 仅在 WooCommerce 中自动为特定国家/地区应用优惠券折扣
- java - 3D 空间中的 OpenGL“分层”条件/相对透明度 (Java)
- haskell - 需要解释 Lambda 演算