无论登录日期格式如何,CAST nvarchar到datetime?

时间:2011-12-01 17:16:05

标签: sql-server sql-server-2008 datetime casting nvarchar

我有2台服务器有两种不同的登录日期格式(English& British English)。

无论日期格式如何,我都需要能够将CAST nvarchar值设置为日期时间。

我有以下查询:

select cast('2011-13-07' as datetime)

这适用于1台服务器,但不适用于另一台服务器。

我是否有另一种方法可以将13/7/2011表示为两个服务器的datetime对象?

为了保持一致性,两个服务器上的查询需要相同。

1 个答案:

答案 0 :(得分:5)

使用ISO-8601标准格式YYYYMMDD

SELECT CAST('20110713' as DATETIME)

不要使用任何破折号!该格式将在任何SQL Server实例上运行,无论语言,区域,区域设置如何 - 它只是工作

ISO-8601中的另一种格式是YYYY-MM-DDTHH:MM:SS - 这个格式包括短划线,但也包括时间部分。