从 varchar 数据类型到 datetime 数据类型的转换产生一个超出范围的值

2025-03-21 07:40:47
推荐回答(2个)
回答1:

SQL Server 使用 Convert( DATETIME, varchar数据, 格式)
的方式,来实现把 varchar转换为datetime 的处理

下面是一个例子:

1> SELECT
2> CONVERT(DATETIME, '2012-01-02 09:06:18', 120)
3> go
-----------------------
2012-01-02 09:06:18.000
(1 行受影响)

对于最后一个参数,取决于你的字符串的日期是怎么填写的。

下面是格式的数字,与日期格式的对照 (2011-03-19 20:24:27.840)

ID result
----------- ------------------------------
0 03 19 2011 8:24PM
100 03 19 2011 8:24PM
1 03/19/11
101 03/19/2011
2 11.03.19
102 2011.03.19
2 11.03.19
102 2011.03.19
3 19/03/11
103 19/03/2011
4 19.03.11
104 19.03.2011
5 19-03-11
105 19-03-2011
6 19 03 11
106 19 03 2011
7 03 19, 11
107 03 19, 2011
8 20:24:27
108 20:24:27
9 03 19 2011 8:24:27:840PM
109 03 19 2011 8:24:27:840PM
10 03-19-11
110 03-19-2011
11 11/03/19
111 2011/03/19
12 110319
112 20110319
13 19 03 2011 20:24:27:840
113 19 03 2011 20:24:27:840
14 20:24:27:840
114 20:24:27:840
20 2011-03-19 20:24:27
120 2011-03-19 20:24:27
21 2011-03-19 20:24:27.840
121 2011-03-19 20:24:27.840

回答2:

insert into PlayedInfo values ('6403','10985402','2033','601701','2012-07-05 17:20:39.253','6' )

查询时间格式字段的值
需要加 ' '