3

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

CAST无论日期格式如何,我都需要能够将nvarchar 值转换为 datetime。

我有以下查询:

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

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

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

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

4

1 回答 1

5

使用 ISO-8601 标准格式YYYYMMDD

SELECT CAST('20110713' as DATETIME)

不要使用任何破折号!该格式适用于任何 SQL Server 实例,无论语言、区域、区域设置如何——它就可以工作

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

于 2011-12-01T17:17:25.087 回答