sql - 如何处理postgresql日期字段中的空值

标签 sql postgresql date select null

我必须忽略日期列中有 null 的行。我该怎么做?

select s."SR Closed Date"::date,
       s."Service Request Number",
       a."Activity ID" 
from sr_data_master s,
     activity_master a
where s."Service Request Number" = a."Service Request Number"
and a."Service Request Number" is not null 
and a."Service Tag" is not null 
and a."Activity ID" is not null
and s."SR Closed Date"::date is not NULL
group by s."Service Request Number",
         s."SR Closed Date"::date,
         a."Activity ID";

我收到错误:

 invalid input syntax for type date: "NULL" 

最佳答案

错误消息表明您的“日期”列(显然实际上不是日期列)包含字符串常量 'NULL' 而不是真正的 null值(因为将真正的 null 值转换为 date 值没有问题)。

您可以使用以下条件来排除这些行:

and s."SR Closed Date" <> 'NULL'

但解决此问题的正确方法是将日期值存储在 DATE 列中。那么您就不需要转换,也不能存储无效的日期值。

关于sql - 如何处理postgresql日期字段中的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52330834/

相关文章:

sql - 如何将SQL数据加载到Hortonworks中?

sql - 如何从命令结果中获取 for/f 循环中的错误级别?

mysql - SQL查询以获取每个可能的链接

sql - 为什么 Drop Index 需要提交?

arrays - 从 PostgreSQL 表中选择,不包括数组项

postgresql - 插入到 postgres 时省略尾随零

date - iOS 5 - 将 UIDatePicker 最小日期设置为 "today"

c# - 存储过程 Postgresql 和 C# WPF

python - 用python生成SQL语句

javascript - jQuery 数据表插件 : Sort German date