Home − 実験室 − No.0042 |
No.0042(SQL)
文字列から一部を取り出す(SUBSTR) |
■環境 |
□OS: Windows XP Professional SP3 □Oracle: Oracle Database 11g R2 (Standard) □OSログインユーザ: ORA_DBAグループ □Oracleユーザ: dicdic(実験用ユーザー) |
■実験 | ||||||||
0. 実験ユーザー「dicdic」でコネクトする。
1. SUBSTR関数を使うと、文字列の中から一部を抜き出してくれる。Excelで使うMID関数みたいな感じ。 下の例の場合、7文字目(1オリジン)をスタートとしてそこから6文字を拾ってくれる。
2. 拾う文字数を指定しない場合は末尾まですべて拾ってくれる。
3. 開始位置の数字をマイナス(負の数)で指定すると、末尾から拾いにいってくれる。 これだと、Excel関数のRight関数と同じ動きだ。
4. こんな使い方もできる。
5. さて、この関数にもバイト数基準で考える亜種、SUBSTRB関数がある。
6. SUBSTRB関数を使うと、全角(マルチバイト)文字は文字コードの途中で切られてしまう。 文字化けしたりしそうなものだが、SUBSTRB関数では文字化けする替わりに半スペを戻すようだ。 下の例は、拾った文字列の末尾が切れてしまった場合。
7. 同様に下の例は、拾った文字列の先頭が切れてしまった場合。
|
【PR】 Oracle実験室監修 『Oracleアーキテクチャ鳥瞰図』 PDF (Oracleのアーキテクチャを一目で俯瞰できるイラスト) |
Home − 実験室 − No.0042 |