SQL Server将字符串转换为datetime
这不是要求如何将任意字符串转换为MSSQL中的datetime,如this question。SQL Server将字符串转换为datetime
我可以控制字符串格式,但我想知道什么MSSQL语法是使用日期字符串更新日期时间字段。
例如,您可以使用
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'
你需要小心日/月秩序的,因为当第一次未指定年份,这将是与语言有关。如果您首先指定年那么没有问题;日期订单将始终为年 - 月 - 日。
UPDATE MyTable SET MyDate = CONVERT(datetime, '2009/07/16 08:28:01', 120)
对于蒙上了充分讨论,并进行转换,包括不同的日期格式设置选项,请参阅下面的MSDN Library链接:
https://docs.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql
+1。很有帮助。 – 2011-01-11 11:24:13
+1用于回答我正在搜索的问题,即使它不是OP的问题:) – Kalessin 2011-06-02 10:24:46
+1为YYYY-MM-DD :) – Thorarin 2009-07-16 06:59:16
- 1。年份首先不保证y-m-d。 SET LANGUAGE british GO SELECT CAST('2009-02-28'AS datetime),CAST('2009-02-28 01:02:03'AS datetime) - 两次失败 – gbn 2009-07-16 07:37:26
您必须使用“date”和在yyyy-mm-dd之前运行SQL Server 2008。 – gbn 2009-07-16 07:39:31