相同的参数 ,为什么不可以这样来第一个这样传,第二个则可以。
EXEC GetSocketBillNum 'hour','2011-12-11','2011-12-12'
- SQL code
EXEC GetSocketBillNum 'hour',CONVERT(VARCHAR(12),CONVERT(VARCHAR(12),GETDATE(),23)
下面这个 我猜测是因为,我用了函数,所以它知道先执行哪个了?
- SQL code
declare @date1 varchar(12)declare @date2 varchar(12)SELECT @date1=CONVERT(VARCHAR(12),DATEADD(DAY,-1,GETDATE()),23)select @date2=CONVERT(VARCHAR(12),GETDATE(),23)print @date1+' [email protected]EXEC GetSocketBillNum 'hour',@date1,@date2
------解决方案--------------------
存储过程参数只认变量,不认函数
------解决方案--------------------
过程的参数值,应该是一个确定的常量.而不是需要通过计算的表达式
------解决方案--------------------
参数不参与计算
------解决方案--------------------
貌似是规定喔, 没啥好解释的.