exec LG_Device_Move_Records_Add @jihao=@Jihao,@longitude = @longitude, @latitude = @latitude,@EventDate =getdate()
sqlserver2008 如上面代码 我想获取时间,结果提示()附件有错误,讲什么应该是select 之类的。我就把()给去掉了,结果运行又变成varchar不能转换成时间,请问各位高手 如果像把当前时间直接赋值给参数 ,如何做。谢谢诶

解决方案 »

  1.   

    exec LG_Device_Move_Records_Add @jihao=@Jihao,@longitude = @longitude, @latitude = @latitude,@EventDate =(SELECT getdate())
    试试。再不行就先建个时间变量赋值再传变量
      

  2.   

    这个是不行的
    要先建立变量
    获取getdate()
      

  3.   

    declare @EventDate datetime
    set @EventDate=getdate() 
    exec LG_Device_Move_Records_Add @jihao=@Jihao,@longitude = @longitude, @latitude = @latitude,@EventDate
      

  4.   

    不确定,这样试试exec LG_Device_Move_Records_Add @Jihao,@longitude, @latitude,getdate()
      

  5.   

    不行
    正如存储过程
    create proc proc_name
    @dt datetime=getdate()
    as
    一样是错误的
      

  6.   

    我提问题前已经先用变量传递了, 让程序先运行。之所以写这个问题,就是感觉比较奇怪,按道理这种写法应该没有问题才对,程序语言是容许这样写的,难道到了t-sql 里面就不行了?就是想请教倒是什么原因导致的
      

  7.   

    exec LG_Device_Move_Records_Add @jihao=@Jihao,@longitude = @longitude, @latitude = @latitude,@EventDate =getdate() --这块只能是变量或常量,不能是函数