我有2台服务器有两种不同的登录日期格式(English
& British English
)。
无论日期格式如何,我都需要能够将CAST
nvarchar值设置为日期时间。
我有以下查询:
select cast('2011-13-07' as datetime)
这适用于1台服务器,但不适用于另一台服务器。
我是否有另一种方法可以将13/7/2011
表示为两个服务器的datetime
对象?
为了保持一致性,两个服务器上的查询需要相同。
答案 0 :(得分:5)
使用ISO-8601标准格式YYYYMMDD
:
SELECT CAST('20110713' as DATETIME)
不要使用任何破折号!该格式将在任何SQL Server实例上运行,无论语言,区域,区域设置如何 - 它只是工作!
ISO-8601中的另一种格式是YYYY-MM-DDTHH:MM:SS
- 这个格式包括短划线,但也包括时间部分。