ホームページ > データベース > mysql チュートリアル > Oracle SQL で最も遠い区切り文字の位置で文字列を分割するにはどうすればよいですか?

Oracle SQL で最も遠い区切り文字の位置で文字列を分割するにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-05 10:51:38
オリジナル
802 人が閲覧しました

How Can I Split a String in Oracle SQL at the Furthest Occurrence of a Delimiter?

Oracle SQL を使用した区切り文字位置による文字列の分割

別の投稿と同様に、要件は、最も遠い文字列の出現によって文字列を分割することです。デリミタ。ここでの主な違いは、区切り文字が必ずしも最初のインスタンスではなく、最も遠いところにあることです。

これを実現するには、SUBSTR 関数と INSTR 関数を利用できます。 Instr(str, '/', -1, 1) は最も遠い区切り文字の位置を特定しますが、-1 は文字列の末尾から先頭に向かって検索を開始することを示します。

ただし、この例は、INSTR 関数に start_position が存在しないためです。 start_position = -1 を追加すると、INSTR 関数は最も遠い区切り文字を見つけて、それに応じて文字列を分割します。

変更されたコードは次のとおりです:

WITH DATA AS
  ( SELECT 'F/P/O' str FROM dual
  )
SELECT SUBSTR(str, 1, Instr(str, '/', -1, 1) -1) part1,
         SUBSTR(str, Instr(str, '/', -1, 1) +1) part2
FROM DATA
ログイン後にコピー

この変更により、コードが正確に分割されます。希望の区切り文字位置にある文字列。指定された文字列に対して「F/P」と「O」が正しく出力されます。 「F/P/O」。

以上がOracle SQL で最も遠い区切り文字の位置で文字列を分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート