我无法弄清楚已经改变的内容只是刚刚开始收到此错误
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,它可以工作,但显然只在会话级别。我需要为服务器修复它
答案 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作为输出,所以我想它也适用于你的情况。