-- ============================================= -- Author: G:A:R -- Create date: -- Description: estrazione valore del paramento passato -- ============================================= CREATE FUNCTION f_prt_getParameter ( @par AS VARCHAR(50) ,@val AS VARCHAR(50) ,@endSepar AS VARCHAR(10) = '&' ) RETURNS VARCHAR(50) AS BEGIN DECLARE @Result VARCHAR(50) DECLARE @Inizio INT; DECLARE @Fine INT; SET @par = '%'+ @par + '=%' -- '%QuoteType=%' --;WITH CTE AS --( -- SELECT *, ( PATINDEX(@campo , Chiave) + LEN(@campo) - 2 ) As Inizio , CHARINDEX ( '&' ,Chiave , PATINDEX(@campo , Chiave) ) As Fine -- FROM dbo.ReportPrintTicket -- WHERE Ticket = 1 AND PATINDEX(@campo , Chiave) > 0 --) SET @Inizio = PATINDEX(@par , @val ) IF @Inizio > 0 BEGIN SET @Inizio = @Inizio + LEN(@par) - 2 SET @Fine = CASE WHEN ( CHARINDEX ( @endSepar , @val , @Inizio ) ) = 0 THEN LEN(@val) ELSE CHARINDEX ( @endSepar , @val , @Inizio ) END ; SELECT @Result = SUBSTRING( @val, @Inizio, @Fine-@Inizio ) END RETURN @Result END