Oma*_*eji 20 sql-server datetime
我需要在SQL服务器计算机上的单个数据库上将日期格式从US(mm/dd/YYYY)更改为UK(dd/mm/YYYY).
如何才能做到这一点?
我已经看到为整个系统执行此操作的语句,以及为会话执行此操作的语句,但我现在无法更改代码,因为它必须再次通过QA,因此我需要快速修复以更改日期时间格式.
更新
我意识到日期时间与SQL Server如何存储数据无关,但它与解析查询的方式有很大关系.
我正在将XML文件中的原始数据放入数据库中.XML文件中的日期采用英国日期格式.
kri*_*tof 22
您可以使用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
Run Code Online (Sandbox Code Playgroud)
解析XML数据时,需要在代码中指定dateformat
Phi*_*ier 11
为了避免处理这些非常无聊的问题,我建议您始终使用标准且唯一的SQL/ISO日期格式 YYYY-MM-DD 来解析数据.无论主服务器或查询客户端上的日期参数是什么(本地日期设置可能与主服务器设置不同),您的查询将在国际范围内工作!
您只能更改整个服务器上的语言,而不能更改单个数据库的语言。但是,如果您需要支持英国,您可以在所有输入和输出之前运行以下命令:
set language 'british english'
Run Code Online (Sandbox Code Playgroud)
或者,如果您在从应用程序输入数据时间时遇到问题,您可能需要考虑通用输入类型,例如
2008 年 12 月 1 日
尽管您无法为单个数据库设置默认日期格式,但您可以更改用于访问该数据库的登录名的默认语言:
ALTER LOGIN your_login WITH DEFAULT_LANGUAGE=British
Run Code Online (Sandbox Code Playgroud)
在某些情况下它会有所帮助。
| 归档时间: |
|
| 查看次数: |
169519 次 |
| 最近记录: |