Sql DB2时间戳计算
我得到下面查询的sql错误, 是不是不可能写如下Sql DB2时间戳计算,sql,timestamp,db2,Sql,Timestamp,Db2,我得到下面查询的sql错误, 是不是不可能写如下 SELECT some columns FROM XXXXX.XXX_XXX WHERE LAST_UPDT_DATE<= CURRENT TIMESTAMP AND LAST_UPDT_DATE>= (CURRENT_TIMESTAMP - '2001-01-21-12.00.00.000000') ; 从XXXXX.X
SELECT some columns FROM XXXXX.XXX_XXX
WHERE LAST_UPDT_DATE<= CURRENT TIMESTAMP
AND LAST_UPDT_DATE>= (CURRENT_TIMESTAMP -
'2001-01-21-12.00.00.000000')
;
从XXXXX.XXX\u XXX中选择一些列
其中,LAST_UPDT_DATE=(当前时间戳-
'2001-01-21-12.00.00.000000')
;
尝试此未经测试的查询:
SELECT some columns FROM XXXXX.XXX_XXX
WHERE LAST_UPDT_DATE between CURRENT TIMESTAMP
AND (CURRENT_TIMESTAMP -
date(to_date('2001-01-21-12.00.00','YYYY-MM-DD HH.MI.SS'))
通常(在标准SQL中),有冒号分隔小时和分钟以及分钟和秒。我似乎记得DB2没有遵循标准,在day和hour之间留有空格,但我忘了使用哪种标点符号。您还可以在字符串前面加上时间戳,以强调/强制它为时间戳文本
从:
通过显式地将值转换为具有指定精度的时间戳,可以为时间戳的字符串表示形式指定不同的时间戳精度。如果字符串是常量,另一种方法是在字符串常量前面加上TIMESTAMP关键字。例如,时间戳“2007-03-28 14:50:35.123”具有时间戳(3)数据类型
对不起。。我的需求不需要计算(时间戳-时间戳)。 问题只需要是
SELECT some columns FROM XXXXX.XXX_XXX
WHERE LAST_UPDT_DATE<= CURRENT TIMESTAMP
AND LAST_UPDT_DATE>='2001-01-21-12.00.00.000000'
;
从XXXXX.XXX\u XXX中选择一些列
其中最后更新日期为2001-01-21-12.00.00.000000
;
这很好。我没有从您的查询中得到任何错误,因此请提供错误以获得进一步帮助。DSNT408I SQLCODE=-401,错误:算术或比较运算的操作数不可比DSNT418I SQLSTATE=42818 SQLSTATE返回代码端注意:具有正连续范围类型。Jens。。我想你的代码会给出当前日期。我需要更准确一些。。并且需要减去curr\u ts-一个旧的时间戳:)