从 CURRENT_TIMESTAMP (DB2) 中减去 HOURS

Posted

技术标签:

【中文标题】从 CURRENT_TIMESTAMP (DB2) 中减去 HOURS【英文标题】:Subtract HOURS from CURRENT_TIMESTAMP (DB2) 【发布时间】:2020-02-26 11:44:39 【问题描述】:

我需要从 DB2 中的 CURRENT_TIMESTAMP 中减去 4 小时,我在 SQL DEVELOPER 中的查询是正确的,因为我可以看到我需要查看的寄存器,但是当我在 Eclipse 中进行查询时有一些问题,我不知道哪个是。这是我需要做的查询:

"SELECT yerror, COUNT(yerror) AS CantidadErrores FROM kexg.VD03154 WHERE tumod BETWEEN (CURRENT_TIMESTAMP - 4 HOUR) AND CURRENT_TIMESTAMP GROUP BY yerror;";

这个查询返回一个错误,但如果我输入 24 HOUR 是正确的。例如,如果我输入 5 DAYS 也是正确的。

我曾尝试减去 04 HOUR, 也是错误的。

提前致谢

【问题讨论】:

错误代码是什么?永远不要写“返回错误”,而是准确地写出完整的错误代码和错误消息。如果 kexg.VD03154.tumod 的列数据类型是 TIMESTAMP,那么您的查询在语法上是可以的。 【参考方案1】:

以下内容在 DB2 for z/OS 上非常适合我:

select current timestamp as rightnow,
       current timestamp - 4 hours 
  from sysibm.sysdummy1 
; 

RIGHTNOW                    COL1                      
--------------------------  --------------------------
2020-02-27-08.16.55.142456  2020-02-27-04.16.55.142456

【讨论】:

以上是关于从 CURRENT_TIMESTAMP (DB2) 中减去 HOURS的主要内容,如果未能解决你的问题,请参考以下文章

CURRENT_TIMESTAMP 以毫秒为单位

Pyspark:在动态配置单元查询中获取 current_timestamp

Liquibase:如何使用 CURRENT_TIMESTAMP 加载数据?

MySQL TIMESTAMP 为默认 NULL,而不是 CURRENT_TIMESTAMP

h2 中的 CURRENT_TIMESTAMP 以毫秒为单位

mysql(自动添加系统时间)timestamp类型字段的CURRENT_TIMESTAMP与ON UPDATE CURRENT_TIMESTAMP属性