Разделите VARCHAR в DB2 для получения значения внутри

Если сам сайт не поставлен под угрозу, и теперь так все вещи, к которым те пароли предоставляют доступ (Ваш DB, возможно?).

7
задан Steve Schnepp 20 August 2009 в 12:20
поделиться

1 ответ

Я уверен, что есть лучший способ написать это, но вот 1 (SQL) решение для данного простого случая. Его можно переписать как хранимую процедуру для поиска любой произвольной строки. Также могут быть некоторые сторонние инструменты / расширения, чтобы помочь с желаемым разделением ...

select
locate('$', col, (locate('$',col, (locate('$',col) +1))) + 1) as poss3rdDollarSign, -- position of 3rd dollar sign
locate('$', col, (locate('$', col, (locate('$',col, (locate('$',col) +1))) + 1)) + 1) as poss4thDollarSign, -- position of 4th dollar sign
    (locate('$', col, (locate('$', col, (locate('$',col, (locate('$',col) +1))) + 1)) + 1)) - 
    (locate('$', col, (locate('$',col, (locate('$',col) +1))) + 1)) - 1  as stringLength,-- length of string between 3rd and 4th dollar sign
    substr(col, locate('$', col, (locate('$',col, (locate('$',col) +1))) + 1)  + 1, (locate('$', col, (locate('$', col, (locate('$',col, (locate('$',col) +1))) + 1)) + 1)) - 
    (locate('$', col, (locate('$',col, (locate('$',col) +1))) + 1)) - 1) as string
    from mytable
4
ответ дан 6 December 2019 в 23:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: