la conversion de date JJ-MMM-AAAA
Je suis l'aide de ligne de code suivante dans SQL:
REPLACE(CONVERT(VARCHAR(11),getdate(),106), ' ','-')
pour convertir une date à MMM-DD-YYYY
format, ce code fonctionne parfaitement bien si la date actuelle est plus que 10.
Mais j'obtiens une erreur lors de sa tente de le convertir à un seul chiffre de la date, de l'e.g quand je suis à la conversion de date 9 jan 2014
. Il est converti Jan--9-2014
.
Qui est en fait mal comme sa contenir un extra -
.
Merci de m'aider à résoudre ce problème.
- Pourquoi avez-vous stocker de la
datetime
comme une chaîne de caractères à tous? - Juste au cas où, que si vous utilisez remplacer les espaces doubles espaces avant de remplacer les espaces par des tirets?
- Mais il fonctionne très bien pour
9 jan 2014
ici? - montrant que la date correcte lors de l'exécution.. sélectionnez REMPLACER(CONVERT(VARCHAR(11),getdate(),106), ' ','-') montre 08-Jan-2014 date du jour ici..
- sauf pour la question de l'auteur s'attend à ce premier mois, pas le jour. Et il veut aussi le jour d'un chiffre si c'est dans la gamme de 1 à 9
- sélectionnez REMPLACER(cast(getDate() varchar(11)), ' ','-') retourne Jan--8-2014 vérifier si vous êtes à l'aide de plâtre ou de convertir..
- Oui, vous avez raison. Désolé
- Est-ce répondre à votre question? Comment obtenir un particulier de format de date ('jj-MMM-aaaa") dans la requête SELECT de SQL Server 2008 R2
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer ceci:
et s'il vous plaît vérifier une autre sql format datetime :
CONVERTIR la DATE EN jj-mmm-aaaa (par exemple. 01-Juin-2018)
De SQL Server 2012+, vous pouvez utiliser
FORMAT(valeur, format [, de la culture ])
Où la
format
param prend valable norme de chaîne de format ou la mise en forme personnalisée chaîneExemple:
Lecture:
jj/mm/aaaa
De L'Essayer.
retourne résultat correct Jan-9-2014 sur votre violon
voici le violon
Jan--9-2014
Comment à ce sujet:
De sortie:
Jan-9-2014
SQL Violon Démo
Ce sujet
?
Essayer cette
voir ce lien pour plus de détails