hors de JNK's answer bâtiment:
DECLARE @start nvarchar(MAX);
DECLARE @output nvarchar(MAX);
SELECT @start = 'ABCDEFG', @output = '';
WHILE LEN(@start) > 0
BEGIN
SET @output = @output + '''' + LEFT(@start, 1) + ''',';
SELECT @start = RIGHT(@start, (LEN(@start) - 1))
END
SELECT CASE WHEN LEN(@output) > 0 THEN LEFT(@output, (LEN(@output) - 1)) ELSE NULL END;
Vous obtiendrez la mise en forme que vous vouliez.
Personnellement, je préfère ce qui suit, car il est plus facile de travailler avec des données sous forme de tableau:
DECLARE @start nvarchar(MAX);
DECLARE @output TABLE (value nchar(1));
SET @start = 'ABCDEFG'+NCHAR(1121);
WHILE LEN(@start) > 0
BEGIN
INSERT INTO @output (value) VALUES (LEFT(@start, 1));
SELECT @start = RIGHT(@start, (LEN(@start) - 1))
END
SELECT value, CAST(value AS varbinary(4)) AS hex FROM @output;
qui SGBDR? 2 plus pour aller –
wow, c'était stupide de ne pas préciser. –