我正在尝试从oracle db中检索日期在两个特定日期之间的行。
FIRST_ACTIVE_TS
---------------
17-11-07
17-11-07
查询我正在使用:
select first_active_ts from <Table name> where TRUNC(first_active_ts)
between TO_DATE('2017-11-06','YYYY-MM-DD') and TO_DATE('2017-11-08','YYYY-MM-DD');
但查询返回0行。
答案 0 :(得分:2)
select first_active_ts
from <Table name>
where first_active_ts >= DATE '2017-11-06' -- Start date
AND first_active_ts < DATE '2017-11-08' + INTERVAL '1' DAY; -- End date+1 day
但查询返回0行。
您的日期以RR-MM-DD
格式显示。使用TO_CHAR( first_active_ts, 'YYYY-MM-DD' )
显示它们,您可能会发现错误地将年份输入为0017
而不是2017
。如果是这种情况,那么查询正确返回零行,您将需要修复数据。
答案 1 :(得分:0)
SELECT FIRST_ACTIVE_TS FROM <TABLE_NAME> WHERE FIRST_ACTIVE_TS BETWEEN
TO_DATE('2017-11-06','YYYY-MM-DD') AND TO_DATE('2017-11-08','YYYY-MM-DD');