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 [2000]


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2011
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 44
    Points : 19
    Points
    19
    Par défaut Format de date
    Bonjour,

    Comment faire pour convertir un champ varchar(250) ayant une valeur date au format 01JAN2010 au format datetime yyyymmdd
    J'ai effectué plusieurs recherches sans vraiment aboutir. J'ai également utilisé les fonctions cast et convert sans arrivé au résultat souhaité.

    Merci pour votre aide.

  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 896
    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 896
    Points : 53 126
    Points
    53 126
    Billets dans le blog
    6
    Par défaut
    Il vous faudra implémenter votre propre routine dans une fonction SQL (UDF).

    A +

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2011
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 44
    Points : 19
    Points
    19
    Par défaut
    Merci pour votre réponse rapide. Mais je suis novice sous sql server et auriez vous par hasard un exemple à partir duquel je puisse m'inspirer.
    Merci.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 896
    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 896
    Points : 53 126
    Points
    53 126
    Billets dans le blog
    6
    Par défaut
    Commencez alors par respecter la charte de postage et nous indiquez sur quelle version vous tournez : 2000, 2005, 2008, 2008 R2, 2012...

    A +

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2011
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 44
    Points : 19
    Points
    19
    Par défaut
    Bonjour,

    JE suis sous sql server 2000.

    Merci pour votre aide

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 896
    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 896
    Points : 53 126
    Points
    53 126
    Billets dans le blog
    6
    Par défaut
    Quelque chose du genre :

    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 dbo.F_CAST_MADATE (@MADATE VARCHAR(16))
    RETURNS DATETIME
    AS
    BEGIN
    IF @MADATE IS NULL RETURN NULL;
    DECLARE @DT CHAR(8);
    SET @DT = RIGHT(@MADATE, 4);
    SET @DT = @DT + CASE SUBSTRING(@MADATE, 3, 3) 
                      WHEN 'JAN' THEN '01'
                      ...
                   END;
    SET @DT = @DT + LEFT(@MADATE, 2)
    RETURN CAST(@DT DATETIME);
    END
    GO
    A compléter....

    A +

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2011
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 44
    Points : 19
    Points
    19
    Par défaut
    Merci pour l'info c'est exactement ce dont j'avais besoin.

+ 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