SQL Server - 选择YEAR错误

时间:2015-07-11 02:43:23

标签: sql-server

目前正在使用SQL Server 2008.为了调试正在处理的一些错误日期数据,下面的代码是用坏数据的示例编写的。

SELECT ISDATE('10-22-002')
SELECT YEAR('10-22-002')

在数据库A上运行语句,结果是:' 1'和' 2002'。

在数据库B上运行语句,结果是:' 1'和一个错误。

在运行语句之前,所有会话的日期格式都是MDY。

  

Msg 241,Level 16,State 1   从字符串转换datetime时转换失败。

我能找到的所有内容都表明日期格式设置为服务器或会话级别。数据库级别是否有设置?

1 个答案:

答案 0 :(得分:0)

您需要将'10-22-002'转换为datetime

SELECT YEAR(cast('10-22-002' as datetime))