Это не спрашивает, как преобразовать произвольную строку в datetime в MSSQL, такую как этот вопрос.
Я могу управлять строковым форматом, но я хочу знать, что синтаксис MSSQL предназначен для обновления поля datetime с использованием строки даты.
Ответ 1
Например, вы можете использовать
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'
Вам нужно быть осторожным с порядком дня/месяца, так как это будет зависеть от языка, если год не указан первым. Если вы сначала укажете год, тогда нет проблем; дата заказа всегда будет год-месяц-день.
Ответ 2
UPDATE MyTable SET MyDate = CONVERT(datetime, '2009/07/16 08:28:01', 120)
Для полного обсуждения CAST и CONVERT, включая различные параметры форматирования даты, см. ниже ссылку на библиотеку MSDN: