繁体   English   中英

添加天 Oracle SQL

[英]Add days Oracle SQL

SELECT ORDER_NUM, CUSTOMER_NUM, CUSTOMER_NAME, ADD_DAYS (ORDER_DATE, 20)
FROM CUSTOMER, ORDERS; 

Oracle Express 说 ADD_DAYS 无效? 任何想法我做错了什么?

如果您想在您的天数中添加 N 天。 您可以按如下方式使用加号运算符 -

SELECT ( SYSDATE + N ) FROM DUAL;

您可以使用加号运算符为日期添加天数。

order_date + 20

以更一般的方式,您可以使用“INTERVAL”。 这里有一些例子:

1)增加一天

select sysdate + INTERVAL '1' DAY from dual;

2) 增加 20 天

select sysdate + INTERVAL '20' DAY from dual;

2)添加一些分钟

select sysdate + INTERVAL '15' MINUTE from dual;

“INTERVAL '1' DAY”的一些缺点是绑定变量不能用于添加的天数。 相反,可以使用 numtodsinterval,就像在这个小例子中一样:

select trunc(sysdate) + numtodsinterval(:x, 'day') tag
from dual

另请参阅: Oracle 数据库在线文档中的 NUMTODSINTERVAL

很简单,你可以用

select (sysdate+2) as new_date from dual;

这将从当前日期增加两天。

关于select (sysdate+3) from dual一件事是 sysdate 被解释为日期。

但是如果你想使用自定义日期,而不是本地日期,你需要确保它被解释为日期,而不是字符串。 像这样(增加 3 天):

select (to_date('01/01/2020')+3) from dual

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM