SQL Server - Zuweisen von Standard-DateTime-Wert zu Parameter in der Gespeicherten Prozedur

Vielleicht bin ich ein idiot hier, aber ich versuche zuweisen einer Standard-DateTime Wert an eine Gespeicherte Prozedur in MS SQL Server 2005 aber nicht bekommen kann es arbeiten, z.B.:

CREATE PROCEDURE MyProcedure
(
    @MyInteger    INT = 123,
    @MyDateTime   DATETIME = CONVERT(DATETIME, '1753-01-01 00:00:00', 20)
)
AS
BEGIN ... (snip)

Also, wenn die @MyDateTime input-parameter nicht angegeben, es sollten '1753-01-01 00:00:00' gesetzt, aber ich bekomme die Fehlermeldung...

Incorrect syntax near the keyword 'CONVERT'.

Kann ich es auf der Arbeit für ganze zahlen ganz gut. Was mache ich falsch?


Edit: aus den Antworten unten, ich ging schließlich mit den folgenden in der Sproc selbst:

CREATE PROCEDURE MyProcedure
(
    @MyInteger    INT = 123,
    @MyDateTime   DATETIME = NULL
)
AS
BEGIN
    SET NOCOUNT ON

    SET @MyDateTime = COALESCE(@MyDateTime, CONVERT(DATETIME, '1753-01-01 00:00:00', 20))

    ...snip...
END
Schreibe einen Kommentar