Определить формат даты SQL Server - PullRequest
0 голосов
/ 08 января 2019

У меня есть много столбцов с метками времени в следующем формате nvarchar '2016-11-22T20: 16: 32.573000Z' или 'гггг-ММ-ддтч: мм: сс. [Ссс] Z', и мне нужно преобразовать тип столбца в формат даты и времени.

Я знаю, что задавалось много вопросов о преобразовании строк в преобразования даты и времени в SQL Server (Azure) с использованием CAST или CONVERT. Но мне кажется, что я не могу определить правильный стиль:

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

Формат выглядит как стиль ISO 8601, но, например, номера стиля 126 и 127 не видят, чтобы работать. Так какой стиль я должен использовать, чтобы успешно преобразовать столбец?

Ответы [ 2 ]

0 голосов
/ 08 января 2019

Не знаю, может ли инструкция SQL обновления с чем-то вроде этого помочь заполнить новое поле даты и новое поле времени:

SUBSTRING(MyLongDateTimeStringField,1,10) AS MyNewDateField,
SUBSTRING(MyLongDateTimeStringField,12,8) AS MyNewTimeField
0 голосов
/ 08 января 2019

Этот формат однозначен, но имеет больше цифр точности, чем datetime.

CONVERT(datetime2,'2016-11-22T20:16:32.573000Z') отлично работает без указания стиля, и вам все равно следует избегать datetime в новой работе. (Указание стилей 126 или 127 на этом этапе также подходит, если вы хотите, но не нужно)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...