我收到以下查询的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')
;
答案 0 :(得分:0)
尝试这个未经测试的查询:
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'))
答案 1 :(得分:0)
通常(在标准SQL中),冒号将小时与分钟和分钟分开。我似乎记得DB2在日和小时之间没有遵循标准,但是我忘记了使用了哪个标点符号。您也可以在字符串前加上TIMESTAMP,以强调/强制它为TIMESTAMP文字。
通过将值显式地转换为具有指定精度的时间戳,可以为时间戳的字符串表示赋予不同的时间戳精度。如果字符串是常量,则替代方法是在字符串常量前面加上TIMESTAMP关键字。例如,TIMESTAMP&#39; 2007-03-28 14:50:35.123&#39;具有TIMESTAMP(3)数据类型。
答案 2 :(得分:0)
对不起所有..我的要求不需要计算(时间戳 - 时间戳)。 查询只需要为,
SELECT some columns FROM XXXXX.XXX_XXX
WHERE LAST_UPDT_DATE<= CURRENT TIMESTAMP
AND LAST_UPDT_DATE>='2001-01-21-12.00.00.000000'
;
工作正常。