Nat*_*Nat 113 t-sql sql-server getdate
也许我有一个'下午'的时刻,但任何人都可以解释为什么我得到
消息102,级别15,状态1,行2
'''附近的语法不正确.
跑步时
CREATE PROC DisplayDate 
    (@DateVar DATETIME) 
AS 
BEGIN
    SELECT @DateVar
END
GO
EXEC DisplayDate GETDATE();
Mit*_*eat 160
您不能将函数调用作为参数传递给存储过程.而是使用中间变量:
DECLARE @tmp DATETIME
SET @tmp = GETDATE()
EXEC DisplayDate @tmp;
Ale*_*der 20
正如Mitch Wheat所说,你不能通过一项功能.
如果在您的情况下您应该传入预先计算的值或GETDATE() - 您可以使用默认值.例如,修改存储过程:
ALTER PROC DisplayDate 
(
    @DateVar DATETIME = NULL
) AS 
BEGIN
    set @DateVar=ISNULL(@DateVar,GETDATE())
    --the SP stuff here
    SELECT @DateVar
END
GO
然后尝试:
EXEC DisplayDate '2013-02-01 00:00:00.000'
EXEC DisplayDate
备注:这里我认为该值没有使用NULL值.如果不是您的情况 - 您可以使用其他未使用的值,例如'1900-01-01 00:00:00.000'
| 归档时间: | 
 | 
| 查看次数: | 65300 次 | 
| 最近记录: |