特定の区切り文字位置での文字列の分割は、データ操作タスクの一般的な要件です。 Oracle SQL の INSTR 関数と SUBSTR 関数は、これを実現するための簡単なアプローチを提供します。
あなたの場合、文字列 "F/P/O" を最も遠い区切り文字で分割したいと考えました。この場合、これは最後のスラッシュ (/)。元の SQL ステートメントはほとんど正しいですが、INSTR 関数の重要な start_position 引数が欠落していました。
SELECT Substr('F/P/O', 1, Instr('F/P/O', '/') - 1) part1, Substr('F/P/O', Instr('F/P/O', '/') + 1) part2 FROM dual
INSTR で負の start_position を指定すると、文字列の末尾から逆算できます。あなたの場合、-1 を使用すると、区切り文字の最後の出現が考慮されます。
SELECT SUBSTR(str, 1, Instr(str, '/', -1, 1) -1) part1, SUBSTR(str, Instr(str, '/', -1, 1) +1) part2 FROM DATA
この変更されたクエリは、文字列 "F/P/O" を最後のスラッシュで正しく分割し、結果は次のようになります。
PART1 PART2 ----- ----- F/P O
以上がOracle SQLで区切り文字が最後に出現した時点で文字列を分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。