Qu'est-ce exactement ne trunc(date, 'IW')?

Pour mon projet j'ai besoin d'avoir une absolue correspondance numérique entre les jours de la semaine et 1...7 valeurs.

Comme vous le savez probablement, l'association entre les jours et les chiffres peuvent varier selon les paramètres régionaux, par exemple en Allemagne du lundi est de 1 et le dimanche de 7, tout en NOUS du lundi est de 2 alors que le dimanche est 1.

Donc, de chercher une solution, j'ai trouvé le code suivant qui semble de travail quel que soit l'endroit, l'attribution lundi=1...dimanche=7:

1 + TRUNC (date) - TRUNC (date, 'IW')

Quelqu'un peut-il m'expliquer comment cela fonctionne? En particulier, je ne peux pas comprendre ce que cette instruction:

TRUNC (date, 'IW')

exactement.

trunc(date,'IW') retourne le premier jour de la semaine et n'est pas affecté par la nls_territory paramètres, reportez-vous à docs.oracle.com/cd/B19306_01/server.102/b14200/.... Seul le format de la chaîne de la JOURNÉE, DY, et D sont touchés.
euh, non. IW renvoie le premier jour de la semaine ISO (lundi) et n'est donc pas altérées par les nls_territory_settings.
Vous avez raison, ma première réponse a été rapide 😀

OriginalL'auteur Phate | 2015-09-16