有谁知道如何让 SQL Server 2005 Express 不安装为美国英语?
我所有的 win2k8 区域设置都设置为英语(新西兰),但它始终安装为美国英语。
我在安装程序中找不到任何地方可以更改它。
有谁知道如何让 SQL Server 2005 Express 不安装为美国英语?
我所有的 win2k8 区域设置都设置为英语(新西兰),但它始终安装为美国英语。
我在安装程序中找不到任何地方可以更改它。
好的,所以日期格式是问题所在。所以你的意思是你的应用程序试图插入这样的日期:
insert into Table1 (DateField1) values ('31/3/2008')
哪个失败是因为它认为“31”是月份?是的,我在澳大利亚也遇到了这个问题。您的选择是:
1) 更改数据库的默认语言,以及现有用户的语言。语言实际上是在每个登录的基础上配置的,例如 SQL Management Studio,安全性 --> 登录,右键单击登录,转到属性,然后将“默认语言”从英语更改为英式英语。为确保所有新用户也发生这种情况,您需要更改服务器的默认语言,通过以下方式完成:
select * from sys.syslanguages
....然后找到您要查找的语言,即英式英语并记下langid
. 要设置它,假设英式英语有 langid = 23:
sp_configure 'default language', 23
go
reconfigure
go
2)使您的应用程序使用适当的转换进行日期选择/插入,即
insert into Table1 (DateField) values (convert(datetime, '31/3/2008', 103))
select DateField1 from Table1 where DateField1 = convert(datetime, '31/3/2008, 103))
3) 让您的应用程序使用国际格式进行日期选择/插入。来自 BOL:
我们建议您使用不依赖于 DATEFORMAT 并且是多语言的日期时间格式。ISO 8601 格式“1998-02-23T14:23:05”和“1998-02-23T14:23:05-08:00”是唯一的国际标准格式。它们不依赖于 DATEFORMAT 或默认登录语言,并且是多语言的。
我猜在这种情况下,您可以比应用程序更轻松地更改数据库,但如果不是这种情况,那么您真的应该让应用程序以更全局的方式做事。应用程序/数据库设计应尽可能与格式无关。