错误:传递date参数时,INT与DATE不兼容

时间:2017-04-03 11:33:53

标签: sql sql-server

将日期作为参数传递给存储过程

时,我遇到了以下错误

操作数类型冲突:INT与DATE不兼容

尝试使用2017-04-03和'2017-04-03'。仍然无法正常工作

实施例: exec> 20160403

程序定义为:

@stlddate日期 ... ...

请帮忙解决。

2 个答案:

答案 0 :(得分:0)

将store过程参数作为INT获取,然后转换为date数据类型:

 DECLARE @date INT;
 SET @date = 20170403    
 SELECT CONVERT(varchar(20), CONVERT(date, CONVERT(varchar(8), @date),  
 112),110)as datetime

答案 1 :(得分:0)

问题是20160403看起来像一个整数。您可以尝试:

'2016-04-03'

cast('20160403' as date)

如果没有更多信息,我自己无法检查。