50 lines
2.5 KiB
Transact-SQL
50 lines
2.5 KiB
Transact-SQL
USE [site_fuchs]
|
|
GO
|
|
/****** Object: UserDefinedFunction [dbo].[ott_jcontent] Script Date: 02.12.2020 21:05:05 ******/
|
|
DROP FUNCTION [dbo].[ott_jcontent]
|
|
GO
|
|
/****** Object: UserDefinedFunction [dbo].[ott_jcontent] Script Date: 02.12.2020 21:05:06 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
|
|
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date, ,>
|
|
-- Description: <Description, ,>
|
|
-- =============================================
|
|
CREATE FUNCTION [dbo].[ott_jcontent]
|
|
(
|
|
@groupcode varchar(10)
|
|
,@text varchar(4000)
|
|
)
|
|
RETURNS varchar(4000)
|
|
AS
|
|
BEGIN
|
|
DECLARE @RET varchar(4000);
|
|
DECLARE @textinput varchar(4000) = REPLACE(ISNULL(@text, ''), ' ', '');
|
|
|
|
IF (@textinput = '' OR @textinput = '{}')
|
|
BEGIN
|
|
SET @RET = 0;
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
|
|
DECLARE @Pattern varchar(20) = '%"' + @groupcode + '":"%';
|
|
DECLARE @P0 int = PATINDEX(@pattern, @textinput);
|
|
DECLARE @P1 int = @P0 + LEN(@pattern) -2;
|
|
DECLARE @P2 int = CHARINDEX('"',@textinput,@p1);
|
|
|
|
SELECT @RET = CASE WHEN @P0 = 0 THEN '' ELSE SUBSTRING(@textinput, @P1, @P2 - @P1) END;
|
|
END
|
|
|
|
RETURN @RET;
|
|
|
|
END
|
|
GO
|
|
ALTER AUTHORIZATION ON [dbo].[ott_jcontent] TO SCHEMA OWNER
|
|
GO
|