datetime数据类型转换为date数据类型导致值超出范围

时间:2018-10-04 18:19:46

标签: sql-server date datetime

我正在尝试将这种格式1978-01-29 00:00:00.000的日期时间列转换为日期1978-01-29

我尝试了convert,cast,case语句,没有任何效果。我收到以下错误

  

将日期数据类型转换为日期时间数据类型导致   超出范围的值。

1 个答案:

答案 0 :(得分:1)

当我跑步时:

SELECT CAST('1978-01-29 00:00:00.000' AS date)

我得到:

1978-01-29

如果在运行该确切代码时遇到错误,则可能是您的语言环境设置将“ 29”视为月份而不是日期,尽管我不知道有任何语言环境设置会以这种方式处理该字符串。 / p>

我还刚刚注意到您的错误消息说该错误是在将date转换为datetime时发生的。但是在您的问题中,您声称您正在尝试将“日期时间列”转换为“日期”。也许该错误不在您认为是的代码部分中。

相关问题