2

默认情况下,SQL Server 的语言设置为“英语(美国)”,将日期格式设置为 mm/dd/yy,而不是我想要的日期格式,它是澳大利亚的并且具有日期格式,例如 dd /毫米/年。

Server Management Studio / Configuration tools 中是否有一个选项可以设置 SQL Server 的区域设置,这将阻止 DateTime 字段被格式化为美国日期格式?

如果没有,当我使用 SQL 查询时如何转换它,例如(如果语法不正确,请见谅,我当场弥补):

Dim dc As New SqlCommand("INSERT INTO hello VALUES (@Date)", cn)
dc.Parameters.Add(New SqlParameter("Date", System.DateTime.Now))

提前谢谢了。:)

4

2 回答 2

2

您可以从 SQL Management Studio 设置每个用户的默认语言/区域设置(查看 Security 文件夹下)。

并使用 SET LANGUAGE 命令(或 SET DATEFORMAT,如果您只想更改日期格式)覆盖特定连接。

您还可以在 SQL Management Studio 中设置默认语言(用于新用户):右键单击服务器,选择属性/高级/默认语言。

于 2008-10-16T11:30:37.697 回答
0

不知道“下”的格式是什么

dd/mm/yyyy hh:mm:ss ?

如果是,则该日期是英/法注释,因此您需要做的就是:

INSERT INTO hello VALUES convert(datetime, @Date + ' 00:00:00', 103)

或者

INSERT INTO hello VALUES convert(datetime, @Date, 103)

如果你真的把时间

有关详细信息,请查看 MSDN 上的在线图书以获取正确的代码。

即使在 Selects 中,我也总是使用它,无论 SQL 中有什么(因为我倾向于使用 Hosting SQL 并且无法更改格式),例如:

SELECT myColumn FROM myTable WHERE myDateField >= convert(datetime, @Date + '00:00:00', 103)

希望能帮助到你

于 2008-10-16T11:30:02.580 回答