目次
サンプル | 文字を切り出す(SUBSTR) |
文字列の途中から最後までを取得する(引数2つ) | |
文字列の後ろから取得する |
文字を切り出す(SUBSTR)
SUBSTR(文字列,開始の位置[,文字数]) |
- 引数の文字列に対して、開始の位置から文字数分の文字を切り出します。
- 文字数は省略可能です。その場合、開始の位置から最後まで切り出します。
- 先頭の1文字目の位置は1です。
- 存在しないときは、nullを返します。
SUBSTR関数のサンプルです。
SELECT SUBSTR('abcabc',1,1) FROM DUAL; --a
SELECT SUBSTR('abcabc',1,2) FROM DUAL; --ab
SELECT SUBSTR('abcabc',1,3) FROM DUAL; --abc
SELECT SUBSTR('abcabc',2,1) FROM DUAL; --b
SELECT SUBSTR('abcabc',9,1) FROM DUAL; --null
SELECT SUBSTR('あいうあいう',1,1) FROM DUAL; --あ
SELECT SUBSTR('あいうあいう',1,2) FROM DUAL; --あい
SELECT SUBSTR('あいうあいう',1,3) FROM DUAL; --あいう
SELECT SUBSTR('あいうあいう',2,1) FROM DUAL; --い
1,4行目は、指定の位置から1文字取得しています。
2,3行目は取得する文字数を増やしています。
5行目は、該当する文字がないのでnullを返します。
7行目以降は、全角の日本語文字です。
文字列の途中から最後までを取得する(引数2つ)
文字列の途中から最後までを取得するサンプルです。引数が2つです。
SELECT SUBSTR('abcde',2) FROM DUAL; --bcde
SELECT SUBSTR('abcde',3) FROM DUAL; --cde
SELECT SUBSTR('abcde',4) FROM DUAL; --de
SELECT SUBSTR('あいうえお',2) FROM DUAL; --いうえお
SELECT SUBSTR('あいうえお',3) FROM DUAL; --うえお
SELECT SUBSTR('あいうえお',4) FROM DUAL; --えお
2つめの引数は検索開始位置で、3つめの引数がない場合は、最後の文字までが対象になります。
文字列の後ろから取得する
文字列の後ろから取得するサンプルです。
SELECT SUBSTR('abcde',-1) FROM DUAL; --e
SELECT SUBSTR('abcde',-2) FROM DUAL; --de
SELECT SUBSTR('abcde',-3) FROM DUAL; --cde
SELECT SUBSTR('あいうえお',-1) FROM DUAL; --お
SELECT SUBSTR('あいうえお',-2) FROM DUAL; --えお
SELECT SUBSTR('あいうえお',-3) FROM DUAL; --うえお
文字列の後ろから取得するには、引数にマイナス値を指定します。
関連の記事