[sql] общая часть строк

zya369

можно ли в sql найти общую часть строк из таблицы?
ЗЫ БД - DB2

pitrik2

ну для этого программу нужно писать
или на каком нить языке программирования
или на встроенных процедурах

zya369

вот я хотел узнать что есть в DB2 для работы со строками..
естесственно я имел ввиду udf-ку какую-нить написать
но только если на sql-е, а то на С-ях писать как-то влом совсем

pitrik2

зато на Сях проще
язык более удобный

pitrik2

вот например на паскале нечто похожее для двух строк
http://algolist.manual.ru/forum/printthread.php/Cat/0/Board/...
поищи этот алгорит нудельмана-вунша
и если делать нечего, то реализуй на sql
но лучше все таки на UDF + C
я так понимаю нужно посчитать для 2-х строк
потом для результата + третьей строки
потом для результата + четвертой
и т.д.

pitrik2

вот
нашел этого вудельмана
правда на англ.
http://www.mathcs.sjsu.edu/faculty/beeson/courses/cs255/Lect...
или даже в википедии
http://en.wikipedia.org/wiki/Needleman-Wunsch_algorithm

pitrik2

неее
для многих строк уже так не получится
например
aaabbb
bbaaa
abb
для первых двух строк алгоритм выдаст: aaa
если сюды добавить третью строку то будет: a
а ведь правильный то ответ будет: bb
значит нужно этот алгоритм нудельмана на n-мерное пространство расширить
хехе, неочевидная задачка получается...

zya369

сорри, я не совсем верно сформулировал задачу
надо найти общее начало строк
собственно я интересовался, нет ли чего-нить этакого встроенного в DB2
ЗЫ уже написал на sql-е хранимку
Оставить комментарий
Имя или ник:
Комментарий: