我从平面文件中以 DD/MM/YYYY 格式保存了一个日期。“2013 年 4 月 20 日”
当我尝试将其插入我的 SQL Server 数据库时,它会将值更改为 MM/DD/YYYY。
所以当然没有第 20 个月,我的代码失败了。我该如何解决这个问题?
我试过这样的东西,但我没有运气。
SELECT CONVERT(datetime, CONVERT(varchar, '20/04/2013', 101))
我从平面文件中以 DD/MM/YYYY 格式保存了一个日期。“2013 年 4 月 20 日”
当我尝试将其插入我的 SQL Server 数据库时,它会将值更改为 MM/DD/YYYY。
所以当然没有第 20 个月,我的代码失败了。我该如何解决这个问题?
我试过这样的东西,但我没有运气。
SELECT CONVERT(datetime, CONVERT(varchar, '20/04/2013', 101))
直接这样做,
SELECT CONVERT(datetime, '20/04/2013', 103)
在 SQL Server 上,您需要使用该SET DATEFORMAT
选项。(参见http://msdn.microsoft.com/en-us/library/ms189491.aspx)。
在您的情况下,您需要在执行上述 SELECT 语句之前发出以下命令:
SET DATEFORMAT dmy
或者,可以全局更改服务器的 DATEFORMAT 设置。
定义和用法 CONVERT() 函数是将一种数据类型的表达式转换为另一种数据类型的通用函数。
CONVERT() 函数可用于以不同格式显示日期/时间数据。
select convert(datetime, '20/04/2013', 103) 在此处输入链接描述