db2日期格式concat特定时间

时间:2012-09-17 17:44:22

标签: sql date db2 sql-date-functions

我正在尝试查询昨天上午6点到今天上午6点之间发生的数据。

我遇到串联问题。

这就是我尝试过的。

Where update_time between date(CURRENT DATE,'mm/dd/yyyy 06:00:00')- 1 DAYS 
                      and date(CURRENT DATE,'mm/dd/yyyy 06:00:00')

1 个答案:

答案 0 :(得分:0)

试试这个:

WHERE UPDATE_TIME 
BETWEEN TIMESTAMP(CHAR(CURRENT DATE,ISO) || ' 06:00:00') - 1 DAY
AND TIMESTAMP(CHAR(CURRENT DATE,ISO) || ' 06:00:00')

更新以回答X-Zero的评论:

DB2函数CHAR(CURRENT DATE,ISO)获取当前日期,并将其转换为ISO格式的字符串。今天的日期,CHAR函数将返回“2012-09-18”。

接下来,我们将(||)时间字符串连接到日期字符串。时间字符串中的空格以正确的格式创建字符DB2时间戳。 “2012-09-18 06:00:00”。

最后,DB2函数TIMESTAMP获取字符DB2时间戳并将其转换为实际的DB2时间戳。