Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql DB2时间戳计算_Sql_Timestamp_Db2 - Fatal编程技术网

Sql DB2时间戳计算

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

我得到下面查询的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.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-一个旧的时间戳:)