-
Calcul numéro de semaine
Bonjour je voudrais par la commande suivante
Code:
select to_char(sysdate, 'iw')+1 from dual;
recupérer le numéro de la semaine suivante.
La dernière semaine de l' année me pose un problème et je voudrais de l' aide pour le résoudre
Code:
select to_char(to_date('30.12.2020'), 'iw')+1 from dual;
me donnera 54
comme numéro de semaine.
Je ne sais pas comment faire pour obtenir après la dernière semaine de l'année
la première semaine de l'année suivante.
merci
-
Bonjour,
Oui il faut appliquer les calculs sur la date, pas sur le résultat:
Code:
select to_char(to_date('30.12.2020', 'dd.mm.yyyy')+7, 'iw')+1 from dual;
J'ai ajouté le masque de format au TO_DATE car un TO_DATE sans celui-ci ne sert à rien.
-
Vanagreg, tu as oublié d'enlever le +1 dans ta requête (vu qu'il correspond au +7 jours).
-
-
Danke Vanagreg,
le resultat de ta requête est de loin meilleur que le mien.
Seulement lorsque je fais
Code:
select to_char(to_date('30.12.2020')+7, 'iw')+1 from dual;
j'obtiens 2 comme résultat.
je me serai attendue à obtenir 1. Car selon le calendrier 2020 a 53 semaines.
Merci
-
Merci à tous les deux,
je viens en effet de prendre connaissance de la reponse de MCM. En effet en enlevant le +1 j' ai effectivement le résultat souhaité.
encore une fois MERCI infiniment
-
Code:
to_date('30.12.2020')
Attention, toujours mettre le format d'une date, sinon un simple changement de NLS va planter la requête ou pire donner un résultat faux
Code:
to_date('30.12.2020', 'DD.MM.YYYY')