Bonjour,

J'ai trouvé une fonction sur le net et j'aimerai l'appeler dans une procédure stockée. Mais SQL Server me dit :'Last_Day' is not a recognized built-in function name. Pourtant elle est bien présente dans mon fichier Fonction scalaire.

Voici la fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
CREATE FUNCTION [dbo].[Last_Day] (@date AS datetime) 
RETURNS datetime
AS
BEGIN
	set @date = DATEADD(DAY, 1-DAY(@date), @date)
	set @date = DATEADD(MONTH, 1, @date)
	return DATEADD(DAY, -1, @date)
END
Moi j'ai tenté de l'appeler dans ma procédure stockée de cette manière:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
CREATE PROCEDURE maproc (@RefInt varchar(50), @Detail int)
AS 
SELECT CONVERT(CHAR(10),DATEPART(m,CONVERT(DATETIME,CAST(R2DUD +19000000 AS varchar(8)),112)),103) AS MOIS,SUM(R2QTY) AS QuantiteTotale
FROM FBTM02
WHERE R2COM = @RefInt
AND R2DUD + 19000000 BETWEEN CAST(CONVERT(CHAR(8), GETDATE(), 112) AS NUMERIC(8, 0))
					AND CAST(CONVERT(CHAR(8), Last_Day(GETDATE()), 112) AS NUMERIC(8, 0))
GROUP BY DATEPART(m,CONVERT(DATETIME,CAST(R2DUD +19000000 AS varchar(8)),112))
Merci d'avance

--------------
[EDIT] Et bien en fait c'est tout simple : il faut mettre dbo.Last_Day

Bah! Merci comme même