今天写了一个存储过程,通过客户id和年月查询某一条记录,语句如下:
select * from sq_glzc
where userid = @userid and convert(varchar(7),adddate,120)= @adddate
where userid = @userid and convert(varchar(7),adddate,120)= @adddate
但是在查询分析器下执行exec getsingleGlzc @userid ='20', @adddate ='2008-07'总是得不到想要找的结果,经历郁闷几个小时,
最后在万般无奈下从新写存储过程,运行成功!
寻找原因:@userid varchar(10),@adddate varchar(50)第二次
@userid varchar(10),@adddate varchar第一次
就是因为在第二次时没有给变量@adddate指定长度。
期间以为的错误是convert(varchar(7),adddate,120)转化不好用,所以想尽了各种办法。
但最终还是解决啦,长舒一口气~我只想大喊ctmd!