获取在DB2中24小时内创建的记录
我需要取24小时内创建的记录。我写了下面的查询,但是它没有给出期望的结果获取在DB2中24小时内创建的记录,db2,Db2,我需要取24小时内创建的记录。我写了下面的查询,但是它没有给出期望的结果 SELECT a,b,enddate,status FROM data WHERE a='1013'AND c ='1250'and (TIMESTAMPDIFF(8,char(timestamp(enddate)- TIMESTAMP(CURRENT_DATE)))) between 0 and 24 以下是表中的数据 A B C Enddate 1013 Test1 1250
SELECT a,b,enddate,status
FROM data WHERE a='1013'AND c ='1250'and (TIMESTAMPDIFF(8,char(timestamp(enddate)-
TIMESTAMP(CURRENT_DATE)))) between 0 and 24
以下是表中的数据
A B C Enddate
1013 Test1 1250 28-March-2020 11:00 AM
1013 Test2 1000 28-March-2020 15:00 PM
1013 Test3 1250 29-March-2020 05:00 AM
1013 Test4 1250 29-March-2020 13:00 PM
1013 Test5 2500 29-March-2020 17:00 PM
1013 Test6 1250 31-March-2020 19:00 PM
假设CURRENT\u DATE=2020年3月29日19:00 PM
查询应返回两行Test3
和Test4
。上述查询不返回任何行
SELECT B, TS
FROM
(
VALUES
('Test1', TIMESTAMP('2020-03-28-11.00.00'))
, ('Test2', TIMESTAMP('2020-03-28-15.00.00'))
, ('Test3', TIMESTAMP('2020-03-29-05.00.00'))
, ('Test4', TIMESTAMP('2020-03-29-13.00.00'))
, ('Test5', TIMESTAMP('2020-03-29-17.00.00'))
, ('Test6', TIMESTAMP('2020-03-31-19.00.00'))
) T (B, TS)
WHERE TS BETWEEN TIMESTAMP('2020-03-29-19.00.00') - 24 HOURS AND TIMESTAMP('2020-03-29-19.00.00');
结果是:
|B |TS |
|-----|--------------------------|
|Test3|2020-03-29-05.00.00.000000|
|Test4|2020-03-29-13.00.00.000000|
|Test5|2020-03-29-17.00.00.000000|
结果是:
|B |TS |
|-----|--------------------------|
|Test3|2020-03-29-05.00.00.000000|
|Test4|2020-03-29-13.00.00.000000|
|Test5|2020-03-29-17.00.00.000000|
enddate>=当前时间戳-24小时
@MarkBarinstein上述条件在输出中引入Test6,这是不正确的,因为此记录大于24小时。我需要获取0到24小时之间的记录enddate>=当前时间戳-24小时
@MarkBarinstein上述条件在输出中引入Test6,这是不正确的,因为此记录大于24小时。我需要获取0到24小时之间的记录