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 :

Planning en SQL


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2007
    Messages : 81
    Points : 56
    Points
    56
    Par défaut Planning en SQL
    Bonjour,
    j'aimerai savoir s'il existe une requete en sql permettant de renvoyer la semaine correspondante (pas le numéro de semaine!) comme suit (sachant que nous sommes le 23, alors je veux):

    lundi 19 | mardi 20 | mercredi 21 | jeudi 22 | vendredi 23 | samedi 24 | dimanche 25


    ceci a pour objectif de remplir dynamiquement un planning.
    Merci par avance.

  2. #2
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 788
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 788
    Points : 3 054
    Points
    3 054
    Par défaut
    Le code ci-dessous récupère le numéro du jour. Aujourd'hui, nous sommes Vendredi ==> le jour est le sixième de la semaine (Dimanche étant le jour 1)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DECLARE @Jour As smallint
     
    SET @Jour = DatePart(dw, current_TimeStamp)
     
    PRINT @Jour
    Et voici comment tu peux l'utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    PRINT 'Lundi    = ' + CONVERT(varchar(100), DateAdd(d, - abs(@Jour - 2), Current_TimeStamp), 100)
    PRINT 'Mardi    = ' + CONVERT(varchar(100), DateAdd(d, - abs(@Jour - 3), Current_TimeStamp), 100)
    PRINT 'Mercredi = ' + CONVERT(varchar(100), DateAdd(d, - abs(@Jour - 4), Current_TimeStamp), 100)
    PRINT 'Jeudi    = ' + CONVERT(varchar(100), DateAdd(d, - abs(@Jour - 5), Current_TimeStamp), 100)
    PRINT 'Vendredi = ' + CONVERT(varchar(100), DateAdd(d, - abs(@Jour - 6), Current_TimeStamp), 100)
    A toi de mettre cela à ta sauce.

  3. #3
    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 : 43
    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,

    Vous pouvez aussi faire cela avec une CTE récursive si vous êtes sous SQL Server 2005 :

    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
    DECLARE @ListeJours VARCHAR(255);
     
    WITH
    	CTE AS
    	(
    			SELECT DATEADD(day, -DATEPART(weekday, GETDATE()) + 1, GETDATE()) Jour
    		UNION ALL
    			SELECT DATEADD(day, 1, Jour)
    			FROM CTE
    			WHERE Jour <= DATEADD(day, 6 - DATEPART(weekday, GETDATE()), GETDATE())
    	)
    SELECT @ListeJours = ISNULL(@ListeJours, '') + DATENAME(weekday, Jour) + CAST(DATEPART(day, Jour) AS VARCHAR(2)) + ' | '
    FROM CTE;
     
    PRINT @ListeJours;
    @++

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2007
    Messages : 81
    Points : 56
    Points
    56
    Par défaut
    Bonjour a tous,

    merci beaucoup pour vos réponses.
    J'ai retenu vos deux solutions car la première réponse me permettra d'afficher les 7 derniers jours et la seconde me permettra d'afficher la semaine en cours.
    C'est parfait car exactement ce que je voulais après de légères modifications de mise en forme.

    Merci beaucoup, bonne journée a tous

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

Discussions similaires

  1. Explain Plan sous SQL developer
    Par Tanin dans le forum Oracle
    Réponses: 5
    Dernier message: 19/07/2012, 15h47
  2. Maintenance Plan - Lock - SQL Server 2008R2
    Par gouffe dans le forum Administration
    Réponses: 4
    Dernier message: 08/09/2011, 12h10
  3. [V6R1] - Vidage du plan cache SQL
    Par pwrdwnsys dans le forum AS/400
    Réponses: 4
    Dernier message: 21/03/2011, 08h40
  4. [V5R4] Plan Cache SQL
    Par punkoff dans le forum AS/400
    Réponses: 8
    Dernier message: 12/06/2009, 09h30
  5. Possibilité de planning avec SQL Server
    Par LEK dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/07/2008, 08h45

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