【发布时间】:2018-01-08 09:55:53
【问题描述】:
我正在尝试将具有 dd/mm/yyyy 格式 (01/08/2017) 的 varchar(255) 字符串 (dp.Date) 转换为 yyyy-mm-dd format (2017-08-01) 中的日期时间。
我尝试使用CONVERT(DATETIME, dp.Date, 120),但最终得到以下错误消息。
将 char 数据类型转换为 datetime 数据类型导致 datetime 值超出范围。
【问题讨论】:
-
你需要使用
CONVERT给它一个格式,而不是CAST:CONVERT(DATETIME,dp.Date,120)` -
抱歉,我是想写 CONVERT...如您所见,我也使用了 CONVERT 的语法...编辑了帖子...感谢您的提醒!
-
那么你有超出日期范围的字符串(如
05/15/2017) -
SQL Server 中的
DATETIME有 no format - 它是一个 8 字节 binary 值.....
标签: sql sql-server-2005