Db2 查询以获取仅具有特定持续时间的两个日期之间的数据

Db2 查询以获取仅具有特定持续时间的两个日期之间的数据,db2,Db2,我只想从2016年6月1日到2016年6月30日下午5点到6点从DB2提取数据。谁能帮我实现这个目标 CRTN\u TS类型是DB2的Timetamp格式 我尝试使用下面的查询,但给出了介于201606012200000000000和201606012300000000000之间的所有值 SELECT * FROM customer WHERE CRTN_TS >= TIMESTAMP_FORMAT('20160601220000000000','YYYYMMDDHH24MISSFF6'

我只想从2016年6月1日到2016年6月30日下午5点到6点从DB2提取数据。谁能帮我实现这个目标

CRTN\u TS
类型是DB2的
Timetamp
格式

我尝试使用下面的查询,但给出了介于201606012200000000000和201606012300000000000之间的所有值

SELECT * FROM customer 
WHERE CRTN_TS >= TIMESTAMP_FORMAT('20160601220000000000','YYYYMMDDHH24MISSFF6') 
  AND CRTN_TS <= TIMESTAMP_FORMAT('20160601230000000000','YYYYMMDDHH24MISSFF6')
从客户处选择*
其中CRTN\u TS>=时间戳格式('201606012200000000000','YYYYMMDDHH24MISSFF6')

而使用ISO格式的CRTN\u TS应该可以工作

 where crtn_ts >= '2016-06-01-22.00.00.000000'
   and crtn_ts <= '2016-06-01-23.00.00.000000'
其中crtn\u ts>=“2016-06-01-22.00.00.000000”
crtn_ts=时间戳('2016-06-01-22.00.00.000000')

而使用ISO格式的crtn\u ts应该可以工作

 where crtn_ts >= '2016-06-01-22.00.00.000000'
   and crtn_ts <= '2016-06-01-23.00.00.000000'
其中crtn\u ts>=“2016-06-01-22.00.00.000000”
crtn_ts=时间戳('2016-06-01-22.00.00.000000')

和crtn_ts仅获取2016年6月任何一天下午5点到下午6点之间创建的记录

SELECT * FROM customer 
WHERE date(CRTN_TS) between '2016-06-01' and '2016-06-30'
     and time(CRTN_TS) between '17:00:00' and '18:00:00' 

仅获取2016年6月任何一天下午5点到下午6点之间创建的记录

SELECT * FROM customer 
WHERE date(CRTN_TS) between '2016-06-01' and '2016-06-30'
     and time(CRTN_TS) between '17:00:00' and '18:00:00' 

如果其中一个答案对您有效,请将其标记为已接受。如果其中一个答案对您有效,请将其标记为已接受。@JayShukla,很高兴知道。请将答案标记为已接受@杰舒克拉,很高兴知道。请将答案标记为已接受。