Quantcast
Channel: SCN: Message List - SAP Advantage Database Server
Viewing all articles
Browse latest Browse all 997

Re: Extract memo line with SQL

$
0
0

Hi Steffen,

 

yes, that's possible:

 

DECLARE @input STRING;

DECLARE @delimiter_position INTEGER;

DECLARE @delimiter STRING;

DECLARE @i INTEGER;

DECLARE @cur CURSOR AS SELECT id, text FROM #input;

 

TRY DROP TABLE #input; CATCH ALL END TRY;

TRY DROP TABLE #output; CATCH ALL END TRY;

 

SET @delimiter = CHAR(13) + CHAR(10);

 

CREATE TABLE

   #input

(

    id AUTOINC

  , text MEMO

);

 

CREATE TABLE

   #output

(

     id INTEGER

   , counter INTEGER

   , part CHAR(10)

);

 

INSERT INTO #input (text) VALUES ('AA' + CHAR(13) + CHAR(10) + 'CCC' + CHAR(13) + CHAR(10) + 'D');

INSERT INTO #input (text) VALUES ('23' + CHAR(13) + CHAR(10) + '333' + CHAR(13) + CHAR(10) + '7');

 

OPEN @cur;

 

WHILE FETCH @cur DO

 

SET @input = @cur.text;

SET @i = 1;

 

SET @delimiter_position = POSITION(@delimiter IN @input);

 

WHILE @delimiter_position > 0 DO

 

  INSERT INTO #output (id, counter, part) VALUES (@cur.id, @i, LEFT(@input, @delimiter_position - 1));

  SET @input = RIGHT(@input, LENGTH(@input) - (@delimiter_position + LENGTH(@delimiter)) + 1);

 

  SET @delimiter_position = POSITION(@delimiter IN @input);

  SET @i = @i + 1;

END WHILE;

 

INSERT INTO #output(id, counter, part) VALUES (@cur.id, @i, LEFT(@input, LENGTH(@input)));

 

END WHILE;

 

CLOSE @cur;

 

SELECT * FROM #output


Viewing all articles
Browse latest Browse all 997

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>