IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Comment calculer le numéro du jour de la semaine en norme ISO [2012]


Sujet :

MS SQL Server

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Points : 9
    Points
    9
    Par défaut Comment calculer le numéro du jour de la semaine en norme ISO
    Bonjour,

    Je cherche comment calculer le numéro du jour de la semaine en norme ISO en SQLServer, sachant que je ne peux pas modifier le langage de la SGBD (SET LANGUAGE) ni le paramètre SET DATEFIRST...

    J'ai essayé DatePart (weekday, Current_TimeStamp), mais ceci me remonte le numéro du jour de la semaine dans le référentiel US...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select DatePart (weekday, Cast ('2017-06-25 12:00:00' as DateTime)) as Numero_jour from sys.servers;
    Comment faire ?
    Je pense à effectuer un calcul modulo, mais je ne sais pas trop comment m'y prendre.

    Exemple :
    Date Jour N° en mode US N° en norme ISO
    18/06/2017 Dimanche 1 7
    19/06/2017 Lundi 2 1
    20/06/2017 Mardi 3 2
    21/06/2017 Mercredi 4 3
    22/06/2017 Jeudi 5 4
    23/06/2017 Vendredi 6 5
    24/06/2017 Samedi 7 6
    25/06/2017 Dimanche 1 7

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select case DatePart (weekday, Current_TimeStamp) - 1
                           when 0 then 7
                           else DatePart (weekday, Current_TimeStamp) - 1
                        end as Numero_jour from sys.servers;

  3. #3
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Vous pouvez aussi en effet passer par un modulo, en prenant comme référence une date dont le jour est connu, par exemple ici le lundi 3 janvier 2000

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT DATEDIFF(DAY, '20000103', LaDate) % 7 + 1

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/03/2012, 20h01
  2. Comment calculer le nombre de jours entre deux dates
    Par pierrot10 dans le forum Langage
    Réponses: 8
    Dernier message: 22/06/2011, 09h38
  3. Réponses: 0
    Dernier message: 31/05/2011, 20h15
  4. Récupérer le numéro du jour dans la semaine
    Par alliance dans le forum MFC
    Réponses: 1
    Dernier message: 19/10/2007, 11h54
  5. Réponses: 7
    Dernier message: 09/12/2005, 16h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo