web-dev-qa-db-fra.com

Ajouter des jours Oracle SQL

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

Oracle Express dit ADD_DAYS invalide? Des idées ce que je fais mal?

38
SQL_Student

Si vous souhaitez ajouter N jours à vos jours. Vous pouvez utiliser l'opérateur plus comme suit -

SELECT ( SYSDATE + N ) FROM DUAL;
47
mkumawat10

Vous pouvez utiliser l'opérateur plus pour ajouter des jours à une date.

order_date + 20
29
Mike

De manière plus générale, vous pouvez utiliser "INTERVAL". Voici quelques exemples:

1) ajouter un jour

select sysdate + INTERVAL '1' DAY from dual;

2) ajouter 20 jours

select sysdate + INTERVAL '20' DAY from dual;

2) ajouter quelques minutes

select sysdate + INTERVAL '15' MINUTE from dual;
24
Francesco Serra

C'est simple.Vous pouvez utiliser

select (sysdate+2) as new_date from dual;

Cela ajoutera deux jours à partir de la date actuelle.

7
shah

"INTERVAL '1' DAY" présente un inconvénient: les variables de liaison ne peuvent pas être utilisées pour le nombre de jours ajoutés. Numtodsinterval peut être utilisé à la place, comme dans ce petit exemple:

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

Voir aussi: NUMTODSINTERVAL dans la documentation en ligne de la base de données Oracle

4
Michael Kremser