Est ce que vous connaissez une fonction simple qui permet d'ajouter un jour à une date ?
Merci.
Est ce que vous connaissez une fonction simple qui permet d'ajouter un jour à une date ?
Merci.
Oui faire + 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SQL> select sysdate from dual; SYSDATE --------- 05-JUL-06 SQL> select sysdate + 1 from dual; SYSDATE+1 --------- 06-JUL-06
ça marche aussi avec les changements de mois ?
Pour ajouter un mois il y a la fonction add_months
C'est à dire ?Envoyé par loudo
Pour ajouter 1 mois :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 SQL> select sysdate from dual; SYSDATE --------- 05-JUL-06 SQL> select add_months(sysdate,1) from dual; ADD_MONTH --------- 05-AUG-06 SQL>
Et pendant qu'on y est je pense que ça pourra t'aider:
trunc(sysdate) ==>05/07/2006
trunc(sysdate, 'yyyy') ==> 01/01/2006
trunc(sysdate,'mm') ==>01/07/2006
Envoyé par Titibirdy
tu as trop fait la fête aprés la victoire de l'Italie toi
La fonction truncate permet d'avoir le premier élément :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 SQL> alter session set NLS_DATE_FORMAt = 'DD/MM/YYYY HH24:mi:ss' ; Session modifiée. SQL> --- Premiére heure de la journée SQL> select trunc ( sysdate ) from dual ; TRUNC(SYSDATE) ------------------- 05/07/2006 00:00:00 SQL> -- Premier jour du mois SQL> select trunc(sysdate,'MON') from dual ; TRUNC(SYSDATE,'MON' ------------------- 01/07/2006 00:00:00 SQL> -- premier jour de l'année SQL> select trunc(sysdate, 'yyyy') from dual ; TRUNC(SYSDATE,'YYYY ------------------- 01/01/2006 00:00:00
Moi, lorsque je lance la requête sur TOAD ou PL/SLQ developper ça donne ça (et donc pas d'histoire d'heure dans l'affichage)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 SQL> select trunc(sysdate) from dual; TRUNC(SYSDATE) -------------- 06/07/2006 SQL> select trunc(sysdate, 'yyyy') from dual; TRUNC(SYSDATE,'YYYY') --------------------- 01/01/2006 SQL> select trunc(sysdate,'mm') from dual; TRUNC(SYSDATE,'MM') ------------------- 01/07/2006
Toad n'est pas le meilleur outil dans ce cas car il ajoute une couche de formattage
Essaye avec Sql*Plus tu verras
Ca marche aussi avec MM :
Je vois pas où est le problème !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SQL> alter session set NLS_DATE_FORMAt = 'DD/MM/YYYY HH24:mi:ss' ; Session altered. SQL> select trunc(sysdate), trunc(sysdate,'yyyy'), trunc(sysdate,'mm') from dual; TRUNC(SYSDATE) TRUNC(SYSDATE,'YYYY TRUNC(SYSDATE,'MM') ------------------- ------------------- ------------------- 06/07/2006 00:00:00 01/01/2006 00:00:00 01/07/2006 00:00:00
Le "alter session" fonctionne aussi avec TOAD, je pense simplement que Titibirdy a oublié de le faire...Envoyé par Jaouad
De toutes façons, si on ne veux pas être tributaire des paramètres NLS (pouvant être modifiés à 36 endroits différents), il faut bannir les selections de date en direct et passer systématiquement par des to_char.
Remarque: Attention SQLPLUS peut aussi avoir sa propre couche de formatage, dans le fichier sournois $ORACLE_HOME/sqlplus/glogin.sql
oups! boulette
le fichier glogin.sql se trouve exactement sous $ORACLE_HOME/sqlplus/admin/
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager