Sql server 是否将nvarchar强制转换为datetime,而不考虑登录日期格式?

Sql server 是否将nvarchar强制转换为datetime,而不考虑登录日期格式?,sql-server,sql-server-2008,datetime,casting,nvarchar,Sql Server,Sql Server 2008,Datetime,Casting,Nvarchar,我有两台服务器,使用两种不同的登录日期格式(English&English) 我需要能够CAST将nvarchar值转换为datetime,而不考虑日期格式 我有以下疑问: select cast('2011-13-07' as datetime) 这在一台服务器上有效,但在另一台服务器上无效 是否有其他方法可以将两台服务器的13/7/2011表示为datetime对象 为保持一致性,两台服务器上的查询必须相同。使用ISO-8601标准格式YYYYMMDD: SELECT CAST('2011

我有两台服务器,使用两种不同的登录日期格式(
English
&
English

我需要能够
CAST
将nvarchar值转换为datetime,而不考虑日期格式

我有以下疑问:

select cast('2011-13-07' as datetime)
这在一台服务器上有效,但在另一台服务器上无效

是否有其他方法可以将两台服务器的
13/7/2011
表示为
datetime
对象


为保持一致性,两台服务器上的查询必须相同。

使用ISO-8601标准格式
YYYYMMDD

SELECT CAST('20110713' as DATETIME)
不要用破折号!该格式将适用于任何SQL Server实例,而不考虑语言、区域和语言环境设置-它只适用于


ISO-8601中的另一种格式是
YYYY-MM-DDTHH:MM:SS
-这一种格式包括破折号,但也包括时间部分。

我得到错误
将varchar数据类型转换为datetime数据类型导致值超出范围。
@Curt:是的-抱歉-起初我把日期和月份混淆了。您需要年、月、日(
20110713