- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
-
- -- =============================================
- -- Author: Insus.NET
- -- Create date: 2019-05-27
- -- Update date: 2019-05-27
- -- Description: 填充中断的字符串
- -- =============================================
- CREATE FUNCTION [dbo].[svf_FillConnectionString]
- (
- @string NVARCHAR(MAX)
- )
- RETURNS NVARCHAR(MAX)
- AS
- BEGIN
- DECLARE @rtv NVARCHAR(MAX) = N''
-
- DECLARE @hyphen VARCHAR(1) = N'-'
- IF @string LIKE '%'+ @hyphen +'%'
- BEGIN
- DECLARE @hyphen_position INT = CHARINDEX(@hyphen, @string)
-
- DECLARE @Front NVARCHAR(40) = SUBSTRING(@string, 1, @hyphen_position - 1)
- DECLARE @Back NVARCHAR(40) = SUBSTRING(@string, @hyphen_position + 1, LEN(@string)- @hyphen_position)
- DECLARE @f INT = CAST(SUBSTRING(@Front, 2, LEN(@Front) - 1) AS INT)
- DECLARE @b INT = CAST(SUBSTRING(@Back, 2, LEN(@Back) - 1) AS INT)
- WHILE @f <= @b
- BEGIN
- SET @rtv = @rtv + N',' + N'C' + CAST(@f AS NVARCHAR(MAX))
- SET @f = @f + 1
- END
- END
-
- RETURN CASE WHEN LEN(ISNULL(@rtv,N'')) = 0 THEN @string ELSE STUFF(@rtv,1,1,N'') END
- END