我们最近将一些数据从SQL数据库实例移动到另一个位置的另一个数据。
我似乎注意到我们的旧数据库实例有一些方面,其中日期作为String传递给SQL服务器,SQL服务器能够正确解析它。例如,应用程序只会传递一个字符串值“15/01/2010”,数据库会立即将其识别为2010年1月5日。在SQL服务器中是否有一个我需要打开或修改原因的设置,当我传递相同的字符串值时,会发生错误,因为它无法理解作为日期传递的字符串值。
感谢您的投入。
答案 0 :(得分:0)
试
SET DATEFORMAT dmy
但在使用字符串
时,您应该只使用'安全'格式相同的格式是YYYYMMDD和yyyy-mm-ddThh:mi:ss.mmm(没有空格)。使用这两种格式与您的语言设置无关
看看这里:Setting a standard DateFormat for SQL Server
如果您需要转换输出使用强制转换或转换
select convert(varchar(30),getdate(),101)
2010年3月8日
select convert(varchar(30),getdate(),101) +' '
+ convert(varchar(30),getdate(),108)
03/08/2010 15:21:32