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();
Run Code Online (Sandbox Code Playgroud)
Mit*_*eat 160
您不能将函数调用作为参数传递给存储过程.而是使用中间变量:
DECLARE @tmp DATETIME
SET @tmp = GETDATE()
EXEC DisplayDate @tmp;
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
然后尝试:
EXEC DisplayDate '2013-02-01 00:00:00.000'
EXEC DisplayDate
Run Code Online (Sandbox Code Playgroud)
备注:这里我认为该值没有使用NULL值.如果不是您的情况 - 您可以使用其他未使用的值,例如'1900-01-01 00:00:00.000'
| 归档时间: |
|
| 查看次数: |
65300 次 |
| 最近记录: |