Oracle - 文字数・バイト数を調べる

文字数を調べるには LENGTH、バイト数を調べるには LENGTHB 関数を使用します。

LENGTH と LENGTHB 関数の使い方

文字数 = LENGTH('文字列')
バイト数 = LENGTHB('文字列')

LENGTH と LENGTHB の結果比較

文字種 サンプル LENGTH LENGTHB
半角文字 LENGTH('1234567890') 10 10
全角文字 LENGTH('1234567890') 10 20
空文字列 LENGTH('') NULL NULL
末尾に半角スペース LENGTH('1234567890 ') 11 11
半角スペースのみ LENGTH(' ') 1 1
NULL LENGTH(NULL) NULL NULL
サロゲートペア LENGTH('𠀋') 2 4

注意

実行例(LENGTH)

--半角文字 -> 結果 10
SELECT LENGTH('1234567890') FROM DUAL;

--全角文字 -> 結果 10
SELECT LENGTH('1234567890') FROM DUAL;

--空文字列 -> 結果 NULL
SELECT LENGTH('') FROM DUAL;

--空文字列 の 結果を ゼロに
SELECT NVL(LENGTH(''), 0) FROM DUAL;

--末尾に半角スペース -> 結果 20
SELECT LENGTH('1234567890          ') FROM DUAL;

--半角スペースのみ -> 結果 10
SELECT LENGTH('          ') FROM DUAL;

--NULL -> 結果 NULL
SELECT LENGTH(NULL) FROM DUAL;

--NULL の 結果を ゼロに
SELECT NVL(LENGTH(NULL), 0) FROM DUAL;

--サロゲートペア -> 結果 2
SELECT LENGTH('𠀋') FROM DUAL;

実行例(LENGTHB)

--半角文字 -> 結果 10
SELECT LENGTHB('1234567890') FROM DUAL;

--全角文字 -> 結果 20
SELECT LENGTHB('1234567890') FROM DUAL;

--空文字列 -> 結果 NULL
SELECT LENGTHB('') FROM DUAL;

--空文字列 の 結果を ゼロに
SELECT NVL(LENGTHB(''), 0) FROM DUAL;

--末尾に半角スペース -> 結果 20
SELECT LENGTHB('1234567890          ') FROM DUAL;

--半角スペースのみ -> 結果 10
SELECT LENGTHB('          ') FROM DUAL;

--NULL -> 結果 NULL
SELECT LENGTHB(NULL) FROM DUAL;

--NULL の 結果を ゼロに
SELECT NVL(LENGTHB(NULL), 0) FROM DUAL;

--サロゲートペア -> 結果 4
SELECT LENGTHB('𠀋') FROM DUAL;

類似記事

検証環境

関連ページ