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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Msg 537, Niveau 16, État 5, Ligne 1 Paramètre de longueur non valide passé à la fonction LEFT ou SUBSTRING.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT dbo.getAffiche('2012-09-16','26')
Partager