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 :

Format de date


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 17
    Par défaut Format de date
    Salut,

    j'ai une date sous cette forme : 7/28/2007 dans le champ [Date]
    j'aimerai afficher sous le champ [champ1] un fomat : 200707 (soit l'année et le mois)

    J'utilise le code suivant :

    update [SIOP_Daily_Picture].[dbo].[date]
    set [champ1]= DATEPART(year, [Date])

    donc cela ne me retourne que l'année mais si je met : year.month cela ne me retourne que le mois. Impossible de trouver le moyen d'avoir mon format : year, month soit pour ce mois de janvier 200801 etc ...
    SI quelqu'un est en mesure de m'aider : merci

    Je profite aussi de soumettre une seconde question :


    CREATE VIEW dbo.[DMD]
    AS
    SELECT



    [LVSDB].[dbo].[SCP_FCST_TIME_SERIES].[FCST_YR_PRD] AS [YEAR_MONTH],
    RTRIM(LTRIM(SUBSTRING([LVSDB].[dbo].[SCP_FCST_ROOT].[FCST_ID], 1, 18))) AS [Item],
    SUBSTRING([LVSDB].[dbo].[SCP_FCST_ROOT].[FCST_ID], 19, 8) AS [Dist_Node],
    SUM([LVSDB].[dbo].[SCP_FCST_TIME_SERIES].[DMD_ACTL_QTY]) AS [DMD]

    FROM [LVSDB].[dbo].[SCP_FCST_ROOT]
    INNER JOIN [LVSDB].[dbo].[SCP_FCST_TIME_SERIES]

    ON [LVSDB].[dbo].[SCP_FCST_ROOT].[SCP_SEQ_NBR] = [LVSDB].[dbo].[SCP_FCST_TIME_SERIES].[SCP_SEQ_NBR]

    WHERE [LVSDB].[dbo].[SCP_FCST_ROOT].[LVL_PATRN_IND] = 'N'
    AND [LVSDB].[dbo].[SCP_FCST_ROOT].[SCP_SEL_SET_ID] = '0000000000'
    AND [LVSDB].[dbo].[SCP_FCST_ROOT].[LVL_NBR] = 2
    AND [LVSDB].[dbo].[SCP_FCST_TIME_SERIES].[DMD_ACTL_QTY] <> 0
    AND [LVSDB].[dbo].[SCP_FCST_TIME_SERIES].[FCST_YR_PRD] = 200712

    GROUP BY
    [LVSDB].[dbo].[SCP_FCST_TIME_SERIES].[FCST_YR_PRD],
    RTRIM(LTRIM(SUBSTRING([LVSDB].[dbo].[SCP_FCST_ROOT].[FCST_ID], 1, 18))),
    SUBSTRING([LVSDB].[dbo].[SCP_FCST_ROOT].[FCST_ID], 19, 8)


    GO



    dans le code qui ci-dessus j'extrai une demande pour le mois de décembre 2007 (200712), je souhaiterais en revanche extraire la demande des 12 derniers mois (group by mois) comment puis-je trouver une condition where qui m'éviterais de rentrer manuellement tous les mois manuellement dans mes filres mais plutôt quelque chose du type add_month (date, -12) mais impossible la encore de l'appliquer. Merci

  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 994
    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 994
    Billets dans le blog
    6
    Par défaut
    La notion de format de date n'existe pas. Une date est un type DATE en SQL.

    Donnez vous la peine de charchez noius avons fait 2 articles sur le sujet :
    http://sqlpro.developpez.com/cours/sqlaz/erreurs/#L7
    http://baptiste-wicht.developpez.com...-sql/datetime/

    Donc pour solutionner votre problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CONVERT(CHAR(6), madate, 112)
    Au passage c'est un hérésie d'intituler un nom de colonnes avec un mot réservé de SQL comme "date" ! Cela ne peut vous attirer que des problèmes.

    Pour votre vue le mieux serait d'implémenter une table des dates comme indiqué dans l'article que j'ai écrit et de faire un RIGHT OUTER JOIN sur cete table avec un GROUP BY AN, MOIS.
    http://sqlpro.developpez.com/cours/gestiontemps/


    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
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 17
    Par défaut
    Merci pour votre réponse, il est vrai que j'aurai pu le trouver par moi-même.

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

Discussions similaires

  1. Format de date
    Par royrremi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/06/2004, 17h32
  2. Détecter le format de date au démarrage
    Par stigma dans le forum Access
    Réponses: 2
    Dernier message: 20/02/2004, 11h04
  3. Réponses: 11
    Dernier message: 02/09/2003, 14h20
  4. Problème de Format de date
    Par titititi007 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/06/2003, 08h19
  5. Réponses: 3
    Dernier message: 06/05/2002, 18h24

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