获取在DB2中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

我需要取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    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小时之间的记录