- РАЗДЕЛИТЬ ИЗОБРАЖЕНИЕ ИЗ ДАННЫХ. ЗАМЕНИТЕ ХАРАКТЕР ПОДУШКИ, ЕСЛИ ВАМ НРАВИТСЯ
DECLARE @js varchar(50)
DECLARE @M INT
DECLARE @I INT
DECLARE @C CHAR
DECLARE @WORD VARCHAR(50)
DECLARE @LPAD VARCHAR(50)
DECLARE @RPAD VARCHAR(50)
DECLARE @LEFT_PADDING_CHARACTER CHAR
DECLARE @RIGHT_PADDING_CHARACTER CHAR
DECLARE @TERMINATOR_CHARACTER CHAR
-- INIT THE STRINGS
SELECT @LPAD = ''
SELECT @RPAD = ''
SELECT @WORD = ''
SELECT @LEFT_PADDING_CHARACTER = ' '
SELECT @RIGHT_PADDING_CHARACTER = ' '
SELECT @TERMINATOR_CHARACTER = '~'
SELECT @js = ' John Smith '
SELECT @js = @js + @TERMINATOR_CHARACTER -- ADD TO CALC THE LENGTH
SELECT @I = 1 -- FIRST CHARACTER
SELECT @M = LEN(@JS) -- LAST CHARACTER
WHILE @I < @M -- PARSE OUT THE LEFT PADDING
BEGIN
SELECT @C = SUBSTRING(@js, @I, 1)
IF @C = @LEFT_PADDING_CHARACTER SELECT @LPAD = @LPAD + @C
ELSE GOTO PARSERIGHTPADDING
SELECT @I = @I + 1
END
PARSERIGHTPADDING:
SELECT @I = LEN(@JS) -1 -- POINT TO THE LAST CHAR
SELECT @M = 1 -- POINT TO THE FIRST CHAR
SELECT @js = LTRIM(@JS) -- TRIM OFF THE LEFT PADDING
SELECT @js = REPLACE(@js, @TERMINATOR_CHARACTER, '' -- TRIM OFF THE TERMINATOR
WHILE @M < @I -- PARSE OUT THE RIGHT PADDING
BEGIN
SELECT @C = SUBSTRING(@js, @I, 1)
IF @C = @RIGHT_PADDING_CHARACTER SELECT @RPAD = @RPAD + @C
ELSE GOTO REMOVEPADDINGS
SELECT @I = @I - 1
END
REMOVEPADDINGS:
SELECT @WORD = LTRIM(RTRIM(@js))
-- SELECT THE RESULTS TO VIEW THEM @LPAD AND @RPAD SHOULD BE BLANK
SELECT @LPAD [LPAD], @WORD [WORD], @RPAD [RPAD]