我正在尝试查询图表日期是系统时间,数据绘制在执行日期时间之后超过 8 小时。
我正在使用以下查询:
select * from pat_results where app_type like 'L' and (chart_dt_utc > perform_dt_utc +8)
两列的日期和时间格式均为 2012-12-29 11:44:00
+8 正确吗?
不,+ 8 增加 8天。你要:
select * from pat_results where app_type like 'L' and datediff(hour, chart_dt_utc, perform_dt_utc) > 8
编辑:哦。出于某种原因,我认为您使用的是 SQL Server。好吧,我只想说,使用 RDBMS 中存在的任何等效项。
编辑 2:在 Oracle 中,您可以这样做:
select * from pat_results where app_type like 'L'
and (chart_dt_utc > perform_dt_utc + (8 / 24))
否。在允许您将数字添加到日期的数据库中,数字以天为单位。
您要添加的值是 8/24.0 - 包括小数位,因为某些数据库将 8/24 计算为整数并给您 0。