Oracle Database 位置と文字数を指定して文字列を取得する

Oracle Database 位置と文字数を指定して文字列を取得する

Oracle Databaseで、位置と文字数を指定して文字列を取得する手順を記述してます。「SUBSTR」で可能です。ここでは、実際に実行した結果を画像で掲載してます。

環境

  • OS windows11 home
  • Oracle Database 21c Express Edition
  • SQL Developer 21.2.1.204

手順

位置と文字数を指定して文字列を取得するには、「SUBSTR」を使用します。

SUBSTR( 文字列,開始位置,文字数 )

実際に、位置と文字数を指定して取得してみます。
※「DUAL」テーブルはダミーとして使用できるテーブルです。

SELECT 
SUBSTR('hello', 1, 2),
SUBSTR('hello', 2, 3)
FROM DUAL;

実行結果

取得されていることが確認できます。

文字数を超えると「null」が返ります。

SELECT 
SUBSTR('hello', 6, 2)
FROM DUAL;

実行結果

位置のみを指定すると、文字列の最後まで取得されます。

SELECT 
SUBSTR('hello', 2),
SUBSTR('hello', 3)
FROM DUAL;

実行結果

マイナスを指定

マイナスを指定すると、文字列の最後から指定したマイナス分だけ取得されます。

取得してみます。

SELECT 
SUBSTR('hello', -1),
SUBSTR('hello', -2)
FROM DUAL;

実行結果

サロゲートペア文字

サロゲートペア文字を使用しても動作は同じです。

SELECT 
SUBSTR('😀😇😈😃😄', 2),
SUBSTR('😀😇😈😃😄', 3)
FROM DUAL;

実行結果