Erreur d'execution d'une fonction
J'ai crée une fonction qui me retourne l'heure en donnant en paramètre la date du jour et le matricule , elle marche bien sauf que s'il n y a pas d'enregistrement dans cette date il me retourne une erreur .
Code:
1 2 3
|
Msg 537, Niveau 16, État 5, Ligne 1
Paramètre de longueur non valide passé à la fonction LEFT ou SUBSTRING. |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
CREATE FUNCTION [dbo].[getAffiche]
(
@dateCalendrier varchar(15),
@matr varchar(15)
)
RETURNS varchar(50)
AS
BEGIN
DECLARE @ProductNames VARCHAR(max)
DECLARE @Date varchar(50)
DECLARE @Type as varchar(2)
SET @ProductNames = ''
SET @Date = ''
SET @Type =''
SELECT @ProductNames = ISNULL(@ProductNames,'')+ CAST(HEURE_POINTAGE AS VARCHAR(5)) + '-'
,@Date=DATE_CALENDRIER
,@Type=(CASE WHEN TYPE_='1' THEN 'E :' ELSE 'S :' END)
FROM WS_Clocking
WHERE DATE_CALENDRIER=@dateCalendrier
AND MATR=@matr
SET @ProductNames = SUBSTRING(@ProductNames, 1, LEN(@ProductNames)-1)
RETURN @ProductNames
END |
Code:
1 2
|
SELECT dbo.getAffiche('2012-09-16','26') |