Convertir datetime pour aaaammjjhhmmss dans sql server

J'ai besoin de calculer l'heure locale de aaaammjjhhmmss et le retourner comme aaaammjjhhmmss. J'ai essayé de l'en-dessous, c'est un travail, mais je ne suis pas en mesure de se débarrasser du nom du mois.

Declare  @VarCharDate  varchar(max)
Declare  @VarCharDate1 varchar(max)
Declare  @VarCharDate2 varchar(max)

--Declare
set  @VarCharDate = '20131020215735' --- YYYYMMDDHHMMSS

--Convert
set @VarCharDate1 =(select SUBSTRING(@VarCharDate,0,5) + '/' + SUBSTRING(@VarCharDate,5,2)  + '/' + SUBSTRING(@VarCharDate,7,2) +  ' ' + SUBSTRING(@VarCharDate,9,2) +':'+SUBSTRING(@VarCharDate,11,2) +':' + RIGHT(@VarCharDate,2))
select @VarCharDate1

--Convert to Date and Add offset
set @VarCharDate2 =  DATEADD(HOUR,DateDiff(HOUR, GETUTCDATE(),GETDATE()),CONVERT(DATETIME,@VarCharDate1,20))
select @VarCharDate2   


-- Now we need to revert it to YYYYMMDDhhmmss
--Tried this but month name still coming
Select convert(datetime, @VarCharDate2, 120)
  • Concernant, "de aaaammjjhhmmss et le retourner comme aaaammjjhhmmss", ces deux formats de regarder la même chose pour moi. Dans tous les cas, si vous partez avec une chaîne, mauvaise idée en passant, jette à un datetime et ensuite revenir à une chaîne de caractères dans le format souhaité. Pas besoin de sous-chaînes.
InformationsquelleAutor MoX | 2013-10-21