默认情况下,SQL Server附带的Langauge设置为"English(United States)",将日期格式设置为mm/dd/yy,而不是我想要的日期格式,该格式是澳大利亚的,具有日期格式,如dd/mm/yy。
在Server Management Studio/Configuration工具中是否有一个选项,我可以在其中设置SQL Server的区域设置,这将阻止DateTime字段以美国日期格式格式化?
如果没有,当我使用SQL查询时,我如何转换它,例如(如果有不正确的语法,请原谅,我当场弥补了):
Dim dc As New SqlCommand("INSERT INTO hello VALUES (@Date)", cn)
dc.Parameters.Add(New SqlParameter("Date", System.DateTime.Now))
非常感谢。:)
您可以从SQL Management Studio中设置每个用户的默认语言/区域设置(在Security文件夹下查看)。
并使用SET LANGUAGE命令(如果您只想更改日期格式,则使用SET DATEFORMAT)为特定连接覆盖此选项。
您也可以在SQL Management Studio中设置默认语言(用于新用户):右键单击服务器,选择"属性"/"高级"/"默认语言"。
不知道"向下"中的格式是什么
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)
希望它能帮助