'@starttimestamp'附近的语法不正确。期待SELECT或(

时间:2012-04-05 17:47:32

标签: sql sql-server sql-server-2008

我在这里做错了什么?

Declare @starttimestamp datetime = getdate();
RAISERROR(N'Code not valid until %s', 16, 1, CAST(@starttimestamp AS VARCHAR));

产生错误Incorrect syntax near 'CAST'.Incorrect syntax near '@starttimestamp'. Expecting SELECT or (

2 个答案:

答案 0 :(得分:1)

您无法在raiserror命令中执行某项功能。首先将日期转换为字符串,如下所示:

Declare @starttimestamp datetime = getdate(),
        @TextDate  char(19)
select @TextDate = convert(char(19),@starttimestamp,120)

RAISERROR(N'Code not valid until %s', 16, 1, @TextDate)

答案 1 :(得分:0)

Declare @starttimestamp varchar(20) = cast(getdate() as varchar(20)); 
RAISERROR(N'Code not valid until %s', 16, 1, @starttimestamp );