将日期作为参数传递给存储过程
时,我遇到了以下错误操作数类型冲突:INT与DATE不兼容
尝试使用2017-04-03和'2017-04-03'。仍然无法正常工作
实施例: exec> 20160403
程序定义为:
@stlddate日期 ... ...
请帮忙解决。
答案 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)
如果没有更多信息,我自己无法检查。