ORACLE関数

[ORACLE関数] バイト数単位で文字を切り出す(SUBSTRB)

投稿日:2017年3月16日 更新日:

オラクルで文字列からバイト数単位で文字を切り出すには、
SUBSTRB関数を使用します。

構文

構文は以下の通りです。

(SUBSTRB構文)
SUBSTRB(<対象文字列>, <開始バイト位置>, <終了バイト位置>)

終了バイト位置は省略可です。省略した場合は末尾までとなります。

サンプルソース

以下のようなテーブルをサンプルとします。

【tbl1】
CDNAME
001ABCDEFGHIJ
002あいうえおかきくけこ
003あAいBうCえDおE

文字コードは全角=2バイトとします。

例1)1バイト目から5バイト取得する

実行結果
ABCDE あい あAい

例2)3バイト目から5バイト取得する

実行結果
CDEFG いう AいB

例3)3バイト目から文字列の末尾まで取得する

実行結果
CDEFGHIJ いうえおかきくけこ AいBうCえDおE

メモ

  • 使用している文字コードがUnicodeなどの場合は結果は異なります。
    (Unicodeは1文字が3バイトで表されるため)
  • 切り出した部分が全角文字の途中となる場合、その文字は切り出されません。
  • 文字数単位で文字を切り出したい場合は、SUBSTR関数を使用します。
    ※詳しくは、「文字数単位で文字を切り出す(SUBSTR)」をご覧ください。

スポンサーリンク

スポンサーリンク

-ORACLE関数
-

執筆者:



comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

スポンサーリンク