SQL Server преобразовать строку в дату и время - PullRequest
43 голосов
/ 16 июля 2009

Здесь не спрашивается, как преобразовать произвольную строку в datetime в MSSQL, например этот вопрос .

Я могу контролировать формат строки, но я хочу знать, что такое синтаксис MSSQL для обновления поля даты и времени с использованием строки даты.

Ответы [ 2 ]

101 голосов
/ 16 июля 2009
UPDATE MyTable SET MyDate = CONVERT(datetime, '2009/07/16 08:28:01', 120)

Для полного обсуждения CAST и CONVERT, включая различные параметры форматирования даты, см. Ссылку на библиотеку MSDN ниже:

https://docs.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql

25 голосов
/ 16 июля 2009

Например, вы можете использовать

update tablename set datetimefield='19980223 14:23:05'
update tablename set datetimefield='02/23/1998 14:23:05'
update tablename set datetimefield='1998-12-23 14:23:05'
update tablename set datetimefield='23 February 1998 14:23:05'
update tablename set datetimefield='1998-02-23T14:23:05'

Вы должны быть осторожны с порядком дня / месяца, поскольку это будет зависеть от языка, если год не указан первым. Если вы укажете год сначала , то проблем не будет; Дата заказа всегда будет год-месяц-день.

...