首页 > 解决方案 > 如何在 oracle sql 中提取两个日期之间的天数?

问题描述

我想要使​​用 Oracle SQL 的这两个日期之间的天数

日期:

BETWEEN "1/1/2018" AND "6/11/2018"

如何编写 SQL 查询?

标签: sqloracleoracle10g

解决方案


between date '2018-01-01' and date '2018-11-06'

其中 DATE 文字看起来完全一样:DATE 'YYYY-MM-DD'

在您的示例中:

  • 双引号不能用
  • 即使您使用单引号,那也将是一个字符串,而不是 DATE,因此您将取决于 Oracle 是否能够(隐式)将其转换为日期
  • 因此,始终使用日期,而不是字符串

[编辑]

这是您在这两个日期之间选择整个日历的方式:

select date '2018-01-01' + level - 1
from dual
connect by level <= date '2018-11-06' - date '2018-01-01' + 1;

推荐阅读