レコードの真ん中を抽出しようとしています。私は弦の唯一の中央を取得したい。SubstrとinstrをSQLで使用
select instr('WUK00000105376:WUKE03960761:WUKR0093868603',':')
from dual;
この文字列からはWUKE03960761
しか取得しません。
私は、サングリングとinstringを使用して出力を取得しようとしましたが、私は取得していません。
レコードの真ん中を抽出しようとしています。私は弦の唯一の中央を取得したい。SubstrとinstrをSQLで使用
select instr('WUK00000105376:WUKE03960761:WUKR0093868603',':')
from dual;
この文字列からはWUKE03960761
しか取得しません。
私は、サングリングとinstringを使用して出力を取得しようとしましたが、私は取得していません。
SELECT SUBSTR(col,
INSTR(col, ':') + 1,
INSTR(col, ':', 1, 2) - INSTR(col, ':') - 1)
FROM dual
別のオプション2つのコロンの間の文字列を取得するためにregexp_substring()
を使用することです:
select regexp_substr('WUK00000105376:WUKE03960761:WUKR0093868603',':[A-Z0-9]+:')
from dual;
は、しかし、これはまた、コロンを返すだろうが、あなたはまた、から特定のグループを返すようにregexp_substr()
を伝えることができます正規表現:
select regexp_substr('WUK00000105376:WUKE03960761:WUKR0093868603',':([A-Z0-9]+):',1,1,'i',1)
from dual;
しかし、substrとinstrを使用したTimのソリューションは、おそらくもっと高速になるでしょう。