Ale*_*nov 2 sql-server-2008 date-format
我已经移动了我的 SQL Server 的域,虽然一切主要都在工作,但查询的日期格式似乎已经改变。
所以如果我运行这个:
select convert(datetime,'2012-02-13')
Run Code Online (Sandbox Code Playgroud)
我得到
消息 242,级别 16,状态 3,第 1 行
varchar 数据类型到 datetime 数据类型的转换导致值超出范围。
当我跑
select @@Language, @@Langid
Run Code Online (Sandbox Code Playgroud)
我得到
英国 | 23
我试图设置 sp_defaultlanguage 但这似乎没有区别。
我还检查了控制面板中的区域设置,似乎也设置为英国。
甚至此代码示例也会导致问题:
set language british
select convert(datetime, '2012-02-13')
Run Code Online (Sandbox Code Playgroud)
结果
将语言设置更改为英国。消息 242,级别 16,状态 3,第 3 行 varchar 数据类型到 datetime 数据类型的转换导致值超出范围。
Windows 设置不影响 SQL Server 分析日期。有一种服务器级别的默认语言,可以被登录级别的一组语言覆盖。
就目前而言,SQL Server 的“安全”格式无论如何都是 yyyymmdd。尝试使用它
从创建登录
指定要分配给登录名的默认语言。如果未包含此选项,则默认语言将设置为服务器的当前默认语言。如果稍后更改服务器的默认语言,则登录的默认语言保持不变。
对于服务器,您可以通过以下方式使用“默认语言”sp_configure
当然,您可以随时运行 SET LANGUAGE 或 SET DATEFORMAT
归档时间: |
|
查看次数: |
13567 次 |
最近记录: |