Я пытаюсь конвертировать форматы времени. В таблице базы данных хранится время в столбце VARCHAR (50) в формате «гггг-мм-ддтч: ми: ссЗ». При выполнении запроса я хочу, чтобы время форматировалось как «гггг-мм-дд чч: ми: сс». (Меня не волнует настройка часового пояса.) Я не понимаю, почему GETDATE со стилем 120 возвращает то, что я хочу, но когда я использую имя поля, оно ничего не делает.
SELECT
PlateEffectiveFrom as Value_In_Table,
STUFF(CONVERT(VARCHAR(33),PlateEffectiveFrom, 120),20,4,'') as 'Gets_Rid_of_Z',
CONVERT(varchar(33), PlateEffectiveFrom, 120) AS Does_Nothing,
CONVERT(varchar(33), GETDATE(), 120) AS Format_I_Want
FROM dbo.TVLTagDetails13
WHERE ID = 5
Возвращает:
Value_In_Table Gets_Rid_of_Z Does_Nothing Format_I_Want
2008-03-12T06:00:00Z 2008-03-12T06:00:00 2008-03-12T06:00:00Z 2019-01-08 11:16:41