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 :

recherche premier jour d'une semaine


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 220
    Points : 88
    Points
    88
    Par défaut recherche premier jour d'une semaine
    bonjour je cherche a savoir la date du premier jour d'une semaine.

    je connais la semaine exemple : semaine 1 de l'année et il me faudrait la date du premier jour de cette semaine.

    merci de votre réponse.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 847
    Points : 52 961
    Points
    52 961
    Billets dans le blog
    6
    Par défaut
    La date du premier jour d'une semaine répond au paramétrage SET DATEFIRST...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Euh, je ne suis pas sur que cela reponde à sa question

    Pour ma part, j'ai une table dans laquelle j'ai chargé les jours de semaine, et l'isoweek jusqu'en 2015. C'est, de suite, très facile pour retrouver le premier jour de la semaine. J'en ai même une avec l'année,l'isoweek et les dates encart de la semaine.

    Il y a ptêt une fonction qui fait cela de manière plus élegante...mais je n'ai pas trouvé. L'avantage c'est que c'est très rapide.

  4. #4
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 220
    Points : 88
    Points
    88
    Par défaut
    hello,

    chapodpaille peux tu me montrer ton code?

    merci d'avance.

    Sinon ce n'est pas le numéro des jours de la semaine que je veux connaitre mais la date du premier jour de la semaine.

    je remontre mon exemple.

    j'ai le numéro de la semaine qui est 8

    je souhaite connaitre le 1er jour de cette semaine soit le 18.02.08

    Merci d'avance

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Voici un fichier xls avec les semaines jusqu'en 2015

    Le jour 1 c'est le lundi, le 7 c'est le samedi.

    A importer dans sql server
    Fichiers attachés Fichiers attachés

  6. #6
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par chapodpaille Voir le message
    Voici un fichier xls avec les semaines jusqu'en 2015

    Le jour 1 c'est le lundi, le 7 c'est le samedi.

    A importer dans sql server
    Bonjour,

    Merci pour le fichier.

    Juste une petite erreur dans ton message : le 7 c'est le Dimanche

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 140
    Points : 166
    Points
    166
    Par défaut
    Bonjour,

    ou sinon,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    
    select dateadd(day, 
    7*(8 - 1) - 
    case when datepart(dw, convert(datetime,'20080101')) = 1 
    then 5 
    else datepart(dw, convert(datetime,'20080101')) - 2 end , 
    convert(datetime,'20080101') )
    Le 8 est à remplacer par le numèro de ta semaine et tu dois gérer l'exception de la semaine 1

  8. #8
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Euh, je ne suis pas sur que cela reponde à sa question
    Certes, mais c'est une partie importante de la réponse, parce que le calcul du premier jour de la semaine en dépend. Si je veux récupérer le 1e jour de la semaine courante, je dois faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CAST(FLOOR(CAST(GETDATE() - DATEPART(weekday, GETDATE()) AS FLOAT)) AS DATETIME) + @@DATEFIRST
    Cela répond-il à la question de Lazzeroni ?

    Les latins considèrent que le 1er jour de la semaine est le lundi, alors que les saxons considèrent que c'est le dimanche. Ce paramètre s'ajuste justement avec la commande SET DATEFIRST.

    Il existe peut-être des implémentations qui, pour suivre des règles de comptabilité, démarrent peut-être leur semaine à un jour "inhabituel"

Discussions similaires

  1. Réponses: 8
    Dernier message: 20/01/2010, 13h51
  2. Réponses: 5
    Dernier message: 16/03/2009, 09h38
  3. Premier jour d'une semaine et le dernier
    Par Philippe608 dans le forum Excel
    Réponses: 4
    Dernier message: 25/05/2008, 14h28
  4. Réponses: 4
    Dernier message: 11/02/2008, 14h41
  5. [Dates] Comment obtenir le premier jour d'une semaine ?
    Par damien.vinouze dans le forum Langage
    Réponses: 8
    Dernier message: 09/05/2007, 08h26

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