четверг, 13 июня 2013 г.

Гениально!

Отпарсили CSV одним запросом.
Красота

И свой вариант (с оракловым синтаксисом):
Таблицы:
Attribs (name varchar2(20), value_list blob) с данными в поле value_list, разделенными символом ;
afl (id int) - вспомогательная, с последовательными числами в поле ID


SELECT A.Name,  
NullIf(SubStr(';'||to_char(value_list)||';', 
              afl.ID, 
              instr(';'||to_char(value_list)||';',
                    ';',
                    afl.ID) - afl.ID),
       '') AS Word
FROM afl, ATTRIBS A
WHERE afl.ID <= Length(';'||to_char(value_list)||';')
AND SubStr(';'||to_char(value_list)||';', afl.ID - 1, 1) = ';' 
AND instr( ';'||to_char(value_list)||';', ';',afl.ID) - afl.ID > 0

Комментариев нет:

Отправить комментарий