我需要在SQL服务器计算机上的单个数据库上将日期格式从US(mm/dd/YYYY)更改为UK(dd/mm/YYYY).
如何才能做到这一点?
我已经看到为整个系统执行此操作的语句,以及为会话执行此操作的语句,但我现在无法更改代码,因为它必须再次通过QA,因此我需要快速修复以更改日期时间格式.
更新
我意识到日期时间与SQL Server如何存储数据无关,但它与解析查询的方式有很大关系.
我正在将XML文件中的原始数据放入数据库中.XML文件中的日期采用英国日期格式.
您可以使用SET DATEFORMAT,就像在此示例中一样
declare @dates table (orig varchar(50) ,parsed datetime) SET DATEFORMAT ydm; insert into @dates select '2008-09-01','2008-09-01' SET DATEFORMAT ymd; insert into @dates select '2008-09-01','2008-09-01' select * from @dates
解析XML数据时,需要在代码中指定dateformat
为了避免处理这些非常无聊的问题,我建议您始终使用标准且唯一的SQL/ISO日期格式 YYYY-MM-DD 来解析数据.无论主服务器或查询客户端上的日期参数是什么(本地日期设置可能与主服务器设置不同),您的查询将在国际范围内工作!