2013-04-22 37 views
0

SQL是给在这一行错误:TSQL转换日期时间为int错误

IF YEAR(@Var_Report_To)%(4)=0 AND MONTH(@Var_Report_To)>=3

Error: Implicit conversion from data type datetime to int is not allowed. Use the CONVERT function to run this query.

关于如何解决任何想法?

+0

使用转换SCNR。 – rekire 2013-04-22 14:09:30

+5

错误不在该行。请注意,错误语句中的行号在SQL Server中可能会引起误解。例如,请参阅http://stackoverflow.com/q/1160296/27535 – gbn 2013-04-22 14:09:45

+3

您并非试图自己实施闰年检测,对吗?如果是这样,你做错了。 – 2013-04-22 14:17:38

回答

0

假设你的变量是一个合法的日期,我没有看到你的表达有问题。以下对我适用:

DECLARE @Var_Report_To DATETIME = '2016-03-01'; 

IF YEAR(@Var_Report_To)%(4)=0 AND MONTH(@Var_Report_To)>=3 
SELECT GETDATE()