Java 查找Sybase数据库中两个日期值之间的差异,其中一个日期为空
我使用一个查询,我想检查hourers中的difrence是否大于ziro。 在我的数据库中,有时两个日期中的一个为空值,或者日期为空 我的问题是,如果其中一个日期为空或没有值,我应该期望什么 查询:Java 查找Sybase数据库中两个日期值之间的差异,其中一个日期为空,java,sql,database,sybase,Java,Sql,Database,Sybase,我使用一个查询,我想检查hourers中的difrence是否大于ziro。 在我的数据库中,有时两个日期中的一个为空值,或者日期为空 我的问题是,如果其中一个日期为空或没有值,我应该期望什么 查询: SELECT * FROM cars_db..lux WHERE dos_nr < 10000 AND DATEDIFF(hh, in_time, out_time ) > 0 SELECT*FROM cars\u db..lux 其中dos_nr0 使用coalesce将
SELECT * FROM cars_db..lux
WHERE dos_nr < 10000
AND DATEDIFF(hh, in_time, out_time ) > 0
SELECT*FROM cars\u db..lux
其中dos_nr<10000
和DATEDIFF(hh,输入时间,输出时间)>0
使用coalesce
将null
日期替换为所需的值并获得差异。如果任一参数为null
,则将获得null
。您只需几分钟就可以运行一些测试,查看DATEDIFF()如何处理null输入。我想你真正需要回答的是:1)你所说的日期是空的是什么意思?它是空的吗?它是一个空格吗?它是1/1/1900吗?它是其他的吗?2) 您希望您的查询逻辑如何处理NULL/空值-生成错误、忽略、将小时差视为>0、将小时差视为<0等等?如果任一参数为NULL
,则结果也将为NULL
。如果在WHERE
子句中使用结果,则条件将失败,从而过滤掉该行。这是否意味着将不会检索该行?