Erreur de syntaxe sur Create Function
Bonjour
J'ai beau relire les exemples de syntaxe d'un Create Function je ne comprends pas pourquoi l'intruction suivante dont j'ai trouvé l'exemple sur Google me donne une erreur a chaque ligne ?
Ou est l'erreur ?
Merci de votre aide
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| CREATE FUNCTION fct_isoyear @MyDate AS dateTime
RETURNS INT
AS
DECLARE @ISOyear INT = DATEPART(YEAR, @MyDate);
-- Special cases: Jan 1-3 may belong to the previous year
IF (DATEPART(MONTH, @MyDate) = 1 AND DATEPART(ISO_WEEK, @MyDate) > 50)
SET @ISOyear = @ISOyear - 1;
-- Special case: Dec 29-31 may belong to the next year
IF (DATEPART(MONTH, @MyDate) = 12 AND DATEPART(ISO_WEEK, @MyDate) < 45)
SET @ISOyear = @ISOyear + 1
RETURN @ISOYear; |
Citation:
Msg 102, Level 15, State 1, Procedure isoyear, Line 1
Incorrect syntax near '@MyDate'.
Msg 137, Level 15, State 2, Procedure isoyear, Line 4
Must declare the scalar variable "@MyDate".
Msg 137, Level 15, State 2, Procedure isoyear, Line 7
Must declare the scalar variable "@MyDate".
Msg 137, Level 15, State 2, Procedure isoyear, Line 8
Must declare the scalar variable "@ISOyear".
Msg 137, Level 15, State 2, Procedure isoyear, Line 11
Must declare the scalar variable "@MyDate".
Msg 137, Level 15, State 2, Procedure isoyear, Line 12
Must declare the scalar variable "@ISOyear".
Msg 137, Level 15, State 2, Procedure isoyear, Line 14
Must declare the scalar variable "@ISOYear".