表格中的日期格式为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
答案 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;
取决于你想要实现的目标。