2012-04-05 14 views
1

Was mache ich falsch hier?Falsche Syntax in der Nähe von '@starttimestamp'. Expecting SELECT oder (

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

Erzeugt eine Fehlermeldung, Incorrect syntax near 'CAST'. und Incorrect syntax near '@starttimestamp'. Expecting SELECT or (

+1

[Bitte lesen Sie meine bearbeitete Antwort auf Ihre ursprüngliche Frage] (http: // stackoverflo w.com/questions/10032914/concatenate-message-in-raiserror/10032939#10032939). –

Antwort

1

Sie können keine Funktion innerhalb des raiserror Befehl auszuführen. Verwandeln Sie Ihr Datum eine Zeichenfolge zuerst, wie folgt:

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

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

Wenn Sie Code, XML oder Datenbeispiele posten ** Markieren Sie bitte diese Zeilen im Texteditor und klicken Sie auf den "Code Samples" Button ('{}') in der Editor Toolbar, um ihn schön zu formatieren und zu markieren! –

+0

folgst du mir? ;) – Kevin

+0

Einfach aufräumen nach deinen Posts :-) Zufälligerweise stolpere ich über zwei Antworten von dir - da war ich an den Fragen interessiert, die du beantwortet hast. Ich pirsche nicht :-) –

Verwandte Themen