设置sql日期格式

时间:2014-09-22 12:40:56

标签: sql sql-server

我无法弄清楚已经改变的内容只是刚刚开始收到此错误

The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

我检查过SQL Server实例的语言是“英式英语” 我检查过用户的语言是“英国英语”

我错过了什么?

select * from table where updated <= '15/09/2012'

如果我运行set dateformat dmy,它可以工作,但显然只在会话级别。我需要为服务器修复它

2 个答案:

答案 0 :(得分:2)

消除所有歧义的更好方法是对所有日期2012-09-15使用ISO 8601格式。无论您的区域设置如何,这都将有效。

答案 1 :(得分:0)

<强> select * from table where convert(date,updated,105) <= '15/09/2012'

你可以查看上面的查询吗?我希望它能奏效。

 declare @updated date = GetDate()

 select 
 case when (convert(date,'15/09/2012', 105) <= @updated) then 1
 else 2 end

这个查询给出1作为输出,所以我想它也适用于你的情况。