Bonjour
Je cherche à créer une fonction personnalisée. Son but , enlever les zéros inutiles mis à gauche d'une référence.
Exemple : article 0000000000123456 devient 123456
J'ai fait cette fonction dans Access et elle marche parfaitement
Celle ci dans SQL Server est enregistrée - apparemment sans souci (elle apparait dans la liste des fonctions)- mais elle ne donne aucun résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Function SansZero(ArticleAvecZero As String) If Left(ArticleAvecZero, 1) = "0" Then While Left(ArticleAvecZero, 1) = "0" SansZero = Right(ArticleAvecZero, (Len(ArticleAvecZero) - 1)) ArticleAvecZero = SansZero Wend Else SansZero = ArticleAvecZero End If End Function
Voici le message si je tente de lancer une requête qui fasse appel à cette fonction
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 USE [EBSMOP] GO /****** Object: UserDefinedFunction [dbo].[SansZero] Script Date: 23/09/2015 09:02:09 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER FUNCTION SansZero (@ArticleAvecZero nvarchar(255)) RETURNS nvarchar(255) WITH EXECUTE AS CALLER AS BEGIN declare @SansZero nvarchar(255) while left (@ArticleAvecZero, 1) = '0' SET @SansZero = right(@ArticleAvecZero, len(@ArticleAvecZero) - 1 ) SET @ArticleAvecZero = @SansZero return @SansZero END;
Merci pour votre aide.
Partager