日期转换从字符串失败

时间:2013-04-15 13:56:34

标签: sql sql-server date

我从平面文件中以DD / MM / YYYY格式保存了日期。 “20/04/2013”​​

当我尝试将其插入我的SQL Server数据库时,它会将值更改为MM / DD / YYYY。

所以当然没有第20个月,我的代码也失败了。我该如何解决这个问题?

我尝过这样的东西而且没有运气。

SELECT CONVERT(datetime, CONVERT(varchar, '20/04/2013', 101))

3 个答案:

答案 0 :(得分:2)

直接这样做,

SELECT CONVERT(datetime, '20/04/2013', 103)

答案 1 :(得分:1)

在SQL Server上,您需要使用SET DATEFORMAT选项。 (见http://msdn.microsoft.com/en-us/library/ms189491.aspx)。

在您的情况下,您需要在执行上述SELECT语句之前发出以下命令:

SET DATEFORMAT dmy

或者,可以全局更改服务器的DATEFORMAT设置。

答案 2 :(得分:0)

定义和用法 CONVERT()函数是一个将一种数据类型的表达式转换为另一种数据类型的通用函数。

CONVERT()函数可用于以不同格式显示日期/时间数据。

选择转换(datetime,'20 / 04/2013',103) enter link description here