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 :

[SQL2008] convertir une chaine de caractères d'une date écrit sous la norme ISO 8601 en date


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 129
    Par défaut [SQL2008] convertir une chaine de caractères d'une date écrit sous la norme ISO 8601 en date
    Bonjour,

    SVP, quelqu'un saurais comment convertir une chaine '2005-05-22T11:26:32' en date ?
    J'ai essayé avec convert : select Convert(DateTime, '2007-01-01T12:45:012', 126)
    mais j'en ressort l'erreur suivante :
    Échec de la conversion d'une valeur datetime à partir d'une chaîne de caractères.

    Merci d'avance.

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    bonjour,


    Heu...
    peut être en supprimant un des trois chiffres des secondes...

  3. #3
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CAST( '2005-05-22T11:26:32' AS DATETIME)

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 129
    Par défaut
    Hum .... Je sort... c'était le chiffre de trop qui me bloquait.

    En revanche, sur une date test 0001-01-01T00:00:00
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select convert(datetime, '0001-01-01T00:00:00', 126)
    me rend :
    "La conversion d'un type de données CHAR en type DATETIME a donné une valeur hors limite de date et d'heure."
    Y'aurais t'il un moyen de faire passer une tel date ?

    Cela me fait de même avec "CAST".

  5. #5
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    quelle version de sql server utilisez vous ?


    Si vous etes sous 2008, vous pouvez utiliser le type DATETIME2, qui accepte les dates à partir de 0001-01-01, à l'inverse de DATETIME, qui n'accepte que les dates à partir de 1753-01-01

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 129
    Par défaut
    Oui, j'utilise Microsoft sql server 2008 R2 Management Studio, mais il me marque le message d'erreur suivant :
    "Le type datetime2 n'est pas un type défini par le système."
    (tout comme avec les type time, date, datetimeoffset)

  7. #7
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    j'utilise Microsoft sql server 2008 R2 Management Studio
    il faudrait vérifier le niveau de compatibilité de votre base de données, elle est peut-être dans une version antérieure.

    Que donne ceci :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sp_dbcmptlevel 'NomDeVotreBase'

  8. #8
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Vous utilisez Management studio 2008 mais celà ne prouve pas que votre instance est en version 2008.

    Que donne ceci:

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/11/2005, 13h44
  2. Récupérer une chaine de caractère dans une page
    Par BrunS dans le forum Langage
    Réponses: 3
    Dernier message: 15/11/2005, 14h28
  3. Supprimer le premier caractère d'une chaine de caractères
    Par Droïde Système7 dans le forum Langage
    Réponses: 2
    Dernier message: 30/09/2005, 11h13
  4. [String]Recherche d'une chaine de caractères dans une autre
    Par Crazyblinkgirl dans le forum Langage
    Réponses: 3
    Dernier message: 29/07/2004, 11h51
  5. recherche d'une chaine de caractère dans une données text
    Par jdeheul dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 17/06/2004, 16h35

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