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

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

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

在我们的大多数 SQL 服务器上运行良好的查询,但运行 Microsoft SQL Server 2005 Developer 的一台机器却不喜欢它们。这是错误:

将 char 数据类型转换为 datetime 数据类型导致日期时间值超出范围。

YYYYMMDD 工作正常

答案1

'yyyy-mm-dd' 格式与语言有关,您可以使用 SET LANGUAGE 指定它将使用的语言,在您的服务器中检查以下查询以了解其工作原理,第四行将抛出错误“将 char 数据类型转换为 datetime 数据类型导致超出范围的 datetime 值”

SET LANGUAGE 'English'
PRINT CONVERT(DATETIME,'2009-12-24')
SET LANGUAGE 'Spanish'
PRINT CONVERT(DATETIME,'2009-12-24')

相关内容