SQL Server 不喜欢 YYYY-MM-DD 格式的日期

dom*_*ing 0 localization sql time format

SQL Server 中是否有设置可以说服它在查询中接受“yyyy-mm-dd”样式的日期。

得到在我们的大多数 SQL 服务器上运行良好的查询,一个运行 Microsoft SQL Server 2005 的开发人员不喜欢它们。这是错误:

将 char 数据类型转换为 datetime 数据类型导致超出范围的 datetime 值。

YYYYMMDD 工作正常

jes*_*var 5

'yyyy-mm-dd' 格式依赖于语言,您可以使用 SET LANGUAGE 指定它将使用的语言,在您的服务器中检查以下查询以查看其工作方式,第四行将抛出错误“The conversion of将字符数据类型转换为日期时间数据类型导致超出范围的日期时间值”

SET LANGUAGE 'English'
PRINT CONVERT(DATETIME,'2009-12-24')
SET LANGUAGE 'Spanish'
PRINT CONVERT(DATETIME,'2009-12-24')
Run Code Online (Sandbox Code Playgroud)