SQL Server Convert champ texte en Date
Résolu
soleil_levant
Messages postés
393
Date d'inscription
Statut
Membre
Dernière intervention
-
soleil_levant Messages postés 393 Date d'inscription Statut Membre Dernière intervention -
soleil_levant Messages postés 393 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un gros problème avec la fonction de SQL Server CONVERT! J'ai un champ de type Texte à caracter contenant une date genre 23072009. Je souhaite le convertir en 23/07/2009 ou autre format mais qui soit Date connaissabel par mes procédures par la suite.
Voici ma sytaxe : select ..., CONVERT(DateTime, BIRTHDATE) As [Date de Naissance] from...
Voici l'erreur de Mon éditeur de Base:
Error 24/07/2009 11:04:24 0:00:00.124 SQL Server Database Error: The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value. 2 0
Quelqu'un a une solution
Merci beaucoup
J'ai un gros problème avec la fonction de SQL Server CONVERT! J'ai un champ de type Texte à caracter contenant une date genre 23072009. Je souhaite le convertir en 23/07/2009 ou autre format mais qui soit Date connaissabel par mes procédures par la suite.
Voici ma sytaxe : select ..., CONVERT(DateTime, BIRTHDATE) As [Date de Naissance] from...
Voici l'erreur de Mon éditeur de Base:
Error 24/07/2009 11:04:24 0:00:00.124 SQL Server Database Error: The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value. 2 0
Quelqu'un a une solution
Merci beaucoup
A voir également:
- Convert date sql server
- Ps3 media server - Télécharger - Divers Réseau & Wi-Fi
- Filezilla server - Télécharger - Téléchargement & Transfert
- Mysql community server - Télécharger - Bases de données
- Airpods 3 date de sortie - Guide
- Scp server - Forum Jeux vidéo
6 réponses
HOURRAA!!
C'est du tonnerre ça marche nikel!! Christounet tu es LE MEILLEUR!! Vraiment super ta commande substring, (moi je connaissais que mid() de VB) super sujet résolut :D
MErci
C'est du tonnerre ça marche nikel!! Christounet tu es LE MEILLEUR!! Vraiment super ta commande substring, (moi je connaissais que mid() de VB) super sujet résolut :D
MErci
Bonjour,
Alors l'instruction left(nomcolonne,x) permet de prendre les x premiers caractères d'une colonne à partir de la gauche, donc dans mon exemple les 8 premiers caractères de la colonne BIRTHDATE. Tu as peut-être raison concernant le type de date de SQL server et le type de date de ta colonne.On peut peut-être essayer avec le format ISO (112)
Donc, ici je prends d'abord l'année (à partir du 5ème caractère sur une longueur de 4), ensuite le mois (3ème et 4ème) et enfin le jour (les 2 premiers), donc dans ton exemple 19840125.
A plus
Alors l'instruction left(nomcolonne,x) permet de prendre les x premiers caractères d'une colonne à partir de la gauche, donc dans mon exemple les 8 premiers caractères de la colonne BIRTHDATE. Tu as peut-être raison concernant le type de date de SQL server et le type de date de ta colonne.On peut peut-être essayer avec le format ISO (112)
select ..., CONVERT(Datetime,SUBSTRING(BIRTHDATE,5,4)+SUBSTRING(BIRTHDATE,3,2)+LEFT(BIRTHDATE,2),112) As [Date de Naissance] from...
Donc, ici je prends d'abord l'année (à partir du 5ème caractère sur une longueur de 4), ensuite le mois (3ème et 4ème) et enfin le jour (les 2 premiers), donc dans ton exemple 19840125.
A plus
Bonjour,
Je pense que tu dois indiquer le type de date en format d'entrée, peux-tu essayer
A plus
Je pense que tu dois indiquer le type de date en format d'entrée, peux-tu essayer
select ..., CONVERT(DateTime, BIRTHDATE,113) As [Date de Naissance] from...
A plus
Merci pour ta prompte réponse,
j'ai déja pensé à ça en mettant 120, tjrs la même erreur :(
PS: ma requête tape d'une Vue dont la colonne BIRTHDATE est varchar(100)
Est ce que c'est de la d'ou viens le prob??
Merci beaucoup
j'ai déja pensé à ça en mettant 120, tjrs la même erreur :(
PS: ma requête tape d'une Vue dont la colonne BIRTHDATE est varchar(100)
Est ce que c'est de la d'ou viens le prob??
Merci beaucoup
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Peut-être, essaye alors ce code
A plus
Peut-être, essaye alors ce code
select ..., CONVERT(DateTime,left(BIRTHDATE,8),113) As [Date de Naissance] from...
A plus
Tjrs la meme erreur :(
que signifie ton chiffre 8? Tu fais un left pour mettre le colonne birthdate completement à gauche?
PS: Voici une enregistrement quelconque de ma base correspondant le champs BIRTHDATE : 25011984
Pense tu que le problème cé les dates en anglais de SQL Server et les dates en france??
Merci
que signifie ton chiffre 8? Tu fais un left pour mettre le colonne birthdate completement à gauche?
PS: Voici une enregistrement quelconque de ma base correspondant le champs BIRTHDATE : 25011984
Pense tu que le problème cé les dates en anglais de SQL Server et les dates en france??
Merci