SQL Server将字符串转换为日期时间

这并不是在问如何在MSSQL中将任意字符串转换为日期时间。

我可以控制字符串格式,但是我想知道使用日期字符串更新日期时间字段的MSSQL语法是什么。

NeilG asked 2020-07-30T15:19:44Z
2个解决方案
101 votes
UPDATE MyTable SET MyDate = CONVERT(datetime, '2009/07/16 08:28:01', 120)

有关CAST和CONVERT的完整讨论,包括不同的日期格式选项,请参见下面的MSDN库链接:

[HTTPS://docs.Microsoft.com/恩-US/SQL/他-SQL/functions/cast-安定-convert-transact-SQL]

Bork Blatt answered 2020-07-30T15:20:09Z
26 votes

例如,您可以使用

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'

您需要注意日/月的顺序,因为当不首先指定年份时,这将取决于语言。 如果您先指定年份,则没有问题; 日期顺序将始终是年-月-日。

NeilG answered 2020-07-30T15:20:37Z
translate from https://stackoverflow.com:/questions/1135746/sql-server-convert-string-to-datetime