1 sql server的日期时间转换错误,但不是另一个

Cur*_*urt 3 datetime date-format date-conversion sql-server-2008

我有2个运行SQL Server 2008的服务器,我有以下查询:

SELECT cast('13/1/2011' as datetime)
Run Code Online (Sandbox Code Playgroud)

如果我在服务器A上执行此查询,我会得到结果:

2011-01-13 00:00:00.000
Run Code Online (Sandbox Code Playgroud)

但是,如果我在服务器B上执行此操作,我会得到结果:

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

我认为这是一个英国/美国的日期格式问题,因为我没有得到错误,12/1/2011但它确实返回2011-12-01 00:00:00.000

如何让服务器B获得与服务器A相同的结果?需要更改什么设置以及在哪里?

Mar*_*ith 6

它的语言设置login控制着如何解释这些不明确的日期格式(虽然这可以用显式SET DATEFORMAT语句覆盖).

DEFAULT_LANGUAGE可以通过改变ALTER LOGIN