我希望使用Oracle SQL在这两个日期之间的天数
日期:
BETWEEN "1/1/2018" AND "6/11/2018"
如何编写SQL查询?
答案 0 :(得分:2)
between date '2018-01-01' and date '2018-11-06'
其中DATE文字完全像这样:DATE 'YYYY-MM-DD'
在您的示例中:
[编辑]
这是您在这两个日期之间选择整个 calendar 的方法:
select date '2018-01-01' + level - 1
from dual
connect by level <= date '2018-11-06' - date '2018-01-01' + 1;
答案 1 :(得分:1)
正如其他答案所指出的那样,您可以简单地将两个日期相除,但是也不需要任何其他算术。
代码:
select to_date('6/11/2018', 'DD/MM/YYYY') - to_date('1/1/2018', 'DD/MM/YYYY')
from dual;
结果:309
答案 2 :(得分:0)
只需使用
select date'2018-11-06' - date'2018-01-01' + 1 as days_difference
from dual;
DAYS_DIFFERENCE
---------------
310
或
with t( myDate ) as
(
select date'2018-11-06' from dual union all
select date'2018-01-01' from dual
)
select max(myDate) - min(myDate) + 1 as days_difference
from t;
DAYS_DIFFERENCE
---------------
310
答案 3 :(得分:0)
您可以简单地做到:
select date1-date2 form dual;
或
select (sysdate-to_date('01-jan-2018'))-(sysdate-to_date('10-jan-2018'))from dual;