sql - 如何比较 SQL 日期与 null

标签 sql

我想计算日期为空的行数。我尝试了以下操作

SELECT R.COUNTRY_CD,COUNT(R.EFFECTIVE_END_DT) AS d_null
FROM REIMBURSEMENT R
GROUP BY R.COUNTRY_CD,R.EFFECTIVE_END_DT
HAVING R.COUNTRY_CD = @COUNTRY_CD AND R.EFFECTIVE_END_DT IS NULL

但它给 d_null 为 0...

如何比较日期是否为 NULL

最佳答案

COUNT 仅计算非 NULL 条目。

尝试使用 COUNT(*)COUNT(1) 而不是 COUNT(R.EFFECTIVE_END_DT)

由于您提供了 Country_CD 作为参数,并且您只需要 NULL 日期,因此您可以将查询简化为:

SELECT R.Country_CD, COUNT(*) AS d_null
FROM Reimbursement R
WHERE R.Country_CD = @Country_CD AND R.Effective_End_DT IS NULL

关于sql - 如何比较 SQL 日期与 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18631953/

相关文章:

mysql - 如何使用 mysql 中多个 if 语句的输出更新列文本值?

sql - Postgres 上的差异字符串

mysql - 如果 WHERE 子句失败,SQL 将不选择任何行

mysql - 在 mysql if 语句中使用来自另一个表的列

java - 是否可以编写一个java程序来弹出一个窗口,用户可以在其中编写SQL脚本代码?

python - Python 中的 Sqlite3 模块比 Shell 中的 SELECT 慢得多

mysql - SQL/Knime - 带 "Group By"的转置表

sql unique 和对插入设置约束

sql - 如何使用 Snowflake 获得累积产品?

php - 将一些数据反序列化为数组