sql - 如何在 SQL Server 的结果中删除返回“Null”的行
问题描述
我有一个查询,可以根据需要为我提供结果。但我不希望在最终结果中显示“Null”的行。
SELECT DISTINCT In_Time,
Out_Time,
"Duration" = CASE
WHEN DATEDIFF (hh,In_Time, Out_Time) >= 2
THEN 'Duration was GREATER than 2 hours'
END
FROM
CASES C
结果显示:
In_Time | 时差 | 期间 |
---|---|---|
2021-04-01 09:05:21 | 2021-04-01 09:28:46 | 无效的 |
2021-04-01 09:31:37 | 2021-04-01 10:33:27 | 无效的 |
2021-04-01 08:56:00 | 2021-04-01 11:46:11 | 持续时间大于 2 小时 |
2021-04-02 12:50:00 | 2021-04-02 14:52:26 | 持续时间大于 2 小时 |
2021-04-02 16:10:57 | 2021-04-02 17:05:21 | 无效的 |
如何删除返回 null 的行并得到如下结果
预期结果 :
In_Time | 时差 | 期间 |
---|---|---|
2021-04-01 08:56:00 | 2021-04-01 11:46:11 | 持续时间大于 2 小时 |
2021-04-02 12:50:00 | 2021-04-02 14:52:26 | 持续时间大于 2 小时 |
解决方案
也许最简单的方法就是为此添加一个WHERE
子句:
WHERE DATEDIFF (hh,In_Time, Out_Time) >= 2
在原始 SQL 中:
SELECT DISTINCT In_Time,
Out_Time,
CASE
WHEN DATEDIFF (hh,In_Time, Out_Time) >= 2 THEN 'Duration was GREATER than 2 hours'
END AS [Duration]
FROM CASES C
WHERE DATEDIFF (hh,In_Time, Out_Time) >= 2
推荐阅读
- c# - C# 将泛型列表传递给 WinForm 构造函数
- google-apps-script - 如何使用脚本将条件格式规则从一张纸复制到另一张纸?
- python - 如何使用flask和pytest测试端点异常?
- c# - 如何在 asp.net core blazor 的通用服务中使用任何模型
- ssas - MDX 查询有效,但忽略 EXCEPT 子句
- java - LWJGL 在启动时崩溃
- wix - 在我的 Windows WiX 安装程序中,我的自定义操作不运行
- typescript - 方法调用的`this`强制
- python - 一个 Python 函数,它需要多少行和多少列,它应该以网格形式打印一对空方括号 []
- python - 即使在 gropandas 绘图时安装了模块 rasterion.io 也找不到