none
参数赋值报错 RRS feed

  • 问题

  • declare  @DANoTest             Char(32);--2011 01 12 18 23 45207
    select  @DANoTest  = replace(replace(replace(replace(CONVERT(varchar(100), GETDATE(), 121),'-',''),' ',''),':',''),'.','')
    select   @DANoTest    --到这里是没有问题的,参数值可以显示出来

    exec  Usp_DAListForEnergyDataDetailsiping   @DANo=@DANoTest,@DATime=GETDATE(),@LogTime=GETDATE(),@MeterType='EM',@MeterNo='A08001',@Qty=100 


    问题:执行存储过程的时候就会报错,提示“Incorrect syntax near ')'.”   难道是存储过程中的错误???

    Science and technology is my lover.

    2012年11月29日 8:55

答案

  • 正如rmiao大侠所说不能使用函数来赋值

    @DATime=GETDATE()

    可以先定义一个变量然后把getdate()的值赋值给变量

    然后再把参数值赋值进去

    DECLARE @a DATETIME
    SET @a=GETDATE()

    @DATime=@a


    给我写信: QQ我:点击这里给我发消息

    2012年11月29日 12:07
  • 正如楼上两位所说,在exec 的参数里,不能直接使用函数


    学如逆水行舟,不进则退!

    2012年12月1日 4:17

全部回复

  • Can't assign parameter with function, replace getdate() with today's date.
    2012年11月29日 9:17
  • 正如rmiao大侠所说不能使用函数来赋值

    @DATime=GETDATE()

    可以先定义一个变量然后把getdate()的值赋值给变量

    然后再把参数值赋值进去

    DECLARE @a DATETIME
    SET @a=GETDATE()

    @DATime=@a


    给我写信: QQ我:点击这里给我发消息

    2012年11月29日 12:07
  • 正如楼上两位所说,在exec 的参数里,不能直接使用函数


    学如逆水行舟,不进则退!

    2012年12月1日 4:17