获取两个日期之间的天数

时间:2014-04-07 15:51:04

标签: oracle plsql char

表格中的日期格式为10/04/14 然后使用此to_char(nameofcolumn, 'yyyymmdd'))来获取此

20140410

现在,需要休息这个值sydate

我用这个

select nameofcolumn,
to_char(nameofcolumn, 'yyyymmdd')) - to_char(sysdate, 'yyyymmdd') AS days
from
table;

但是结果例如07/07/14返回300天是90

2 个答案:

答案 0 :(得分:1)

为什么要将这些转换为字符串?您可以在不转换它们的情况下执行基本日期算术:

select nameofcolumn,
       nameofcolumn - sysdate AS days
from
table;

答案 1 :(得分:1)

我无法添加评论,所以我会在一个单独的答案中添加一些内容。

SELECT to_date('07/07/2014','dd/mm/yyyy') - SYSDATE AS days FROM dual;

将返回一个带浮点而不是整数的数字。你必须做任何一件事

SELECT trunc(to_date('07/07/2014','dd/mm/yyyy') - SYSDATE) AS days FROM dual;

SELECT to_date('07/07/2014','dd/mm/yyyy') - trunc(SYSDATE) AS days FROM dual;

取决于你想要实现的目标。