Convertir une chaîne de caractères avec "AAAAMMJJHHMMSS" format datetime
Je reconnais il y a eu beaucoup de questions posées sur la conversion de chaînes datetime
déjà, mais je n'ai pas trouvé quoi que ce soit pour la conversion d'une chaîne comme 20120225143620
qui comprend secondes.
J'étais en train d'effectuer un nettoyage de conversion, sans sous-chaîne-ing chaque segment et la concaténation avec /
et :
.
Quelqu'un aurait-il des suggestions?
OriginalL'auteur sadmicrowave | 2015-02-23
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le
STUFF()
méthode pour insérer des caractères dans votre chaîne de format pour une valeur de SQL Server doit être en mesure de comprendre:De sortie:
Cette approche ne fonctionnera que si votre chaîne est toujours de la même longueur et le format, et il fonctionne à partir de la fin de la chaîne au début pour produire une valeur dans ce format:
YYYYMMDD HH:MM:SS
Pour cela, vous n'avez pas besoin de séparer la partie date de toute façon, comme SQL Server doit être en mesure de la comprendre comme elle est formatée.
Liées À La Lecture:
STUFF (Transact-SQL)
YYYYMMDD HH:MM
format désiré: '20120225 14:36'SET @datestring = STUFF(STUFF(@datestring,9,0,' '),12,0,':')
OriginalL'auteur Tanner