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 :

formater un champ date dans un select


Sujet :

MS SQL Server

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 147
    Points : 144
    Points
    144
    Par défaut formater un champ date dans un select
    Salut.
    J'ai un champ de type date et j'aimerais, dans un SELECT, le faire sortir avec ce format:
    yyyy/mm
    Je n'arrive pas à le faire avec la fonction CONSVERt, qui ne permet que de formater selon des formats prédéfinis.
    Comment faire?
    Merci

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Inspire toi de ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT cast(year(getdate()) as varchar) + '/'+ cast(month(getdate()) as varchar)
    Et n'oublie pas de marquer resolu ton poste.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 147
    Points : 144
    Points
    144
    Par défaut ok mais...
    Merci beaucoup pour ta réponse.
    Mais j'aurais besoin d'avoir le mois formaté de la sorte:
    2000/01
    dans le cas de janvier, et là, il me renvoie
    2000/1

    J'ai donc trouvé une solution:
    SUBSTRING(CONVERT (varchar; dbo.TRAVAIL.Date_Debut; 111); 0; 8)
    Ca marche.

  4. #4
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Vous pouvez d'abord créer une fonction UDF avec ce code :

    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
    CREATE FUNCTION udf_YearMonth
    	(@LaDate datetime)
    RETURNS varchar(8)
    as
    begin
    	Declare @YYYY as varchar(4),
    		@MM as varchar(2)
     
    	SELECT @YYYY = cast(year(@LaDate) as varchar) 
    	SELECT @MM = cast(month(@LaDate) as varchar)
     
    	IF len(@MM)=1 set @MM='0' + @MM
     
    	Return (@YYYY + '/' + @MM)
    end
    Par la suite tu pourras tester ta function avec ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT MaBase.dbo.udf_YearMonth ((getdate())
    Bien entendu MaBase represente la base utilisée qui contient la fonction.

    Bonne chance.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  5. #5
    Membre actif
    Inscrit en
    Avril 2006
    Messages
    702
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 702
    Points : 289
    Points
    289
    Par défaut sqlserver DATE
    Bonsoir a tous,
    ok pour toutes ces soluces...mais pour faire ca:

    ja'i une date de cetype dans un champs StartDate:
    2005-01-23 00:00:00
    je voudrais dans le select de MSSQL virer l'heure et eventuellement avoir la date au format europe, genre

    23-01-2005

    Qqu'un a la syntaxe de ca?
    d'avance merci

    Luis

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/06/2010, 16h58
  2. Réponses: 4
    Dernier message: 11/12/2009, 16h50
  3. Formater un champ date dans un DBGrid
    Par sybermad dans le forum Bases de données
    Réponses: 26
    Dernier message: 05/04/2007, 17h24
  4. problème champ date dans base oracle
    Par ludovik dans le forum Oracle
    Réponses: 6
    Dernier message: 25/07/2005, 15h48
  5. Réponses: 3
    Dernier message: 23/09/2003, 09h12

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