【SQL・ORACLE】 SUBSTR関数の使い方(文字列の切り出し)

文字列関数
この記事は約2分で読めます。
スポンサーリンク

【SQL・ORACLE】 SUBSTR関数の使い方(文字列の切り出し)

SUBSTR関数は、ORACLE  に、対応しています。

SUBSTR関数 : 書式

書式 SUBSTR(strings, sposition, length)
引数 strings : 切り出す文字列
   sposition : 切り出し開始位置
   length:切り出す文字数
戻値 切り出された文字列

SUBSTR関数 : 解説

SUBSTR関数は、文字列の一部の文字を取得する関数です。引数「strings」で指定した文字列の、引数「sposition」で指定した位置から、引数「length」で指定された文字数を切り出します。このとき、ひらがなやカタカナ、漢字といった2バイト文字も1文字として数えます。

SUBSTR関数の処理

図解_substr関数の処理

もし、切り出す文字数が足りない場合は、文字列の終端までが切り出されます。

切り出す開始位置が文字列の範囲外の場合にはNULLが返されます。

SUBSTR関数 : 使用例 

SQL文 
SELECT 元文字列, 開始位置, 選択文字数,
 SUBSTR(元文字列, 開始位置, 選択文字数) 結果
FROM substr_db;
実行結果
文字列開始位置選択文字数結果
abcdef13abc
abcdef32cd
abcdef35cdef
abcdef102 
あいうえお22いう

結果の下から2行名の空白のところは、切り出し開始位置が、元文字列の範囲外になるので、「NULL」が返されています。

ORACLEでは、SUBSTRB関数といったものが用意されています。この関数は引数は同じなのですが、数値は文字数単位ではなくバイト単位で指定するといった違いがあります。

MS-SQLでは、SUBSTRING関数を使って同じことができます。

タイトルとURLをコピーしました