Oracle Database 文字のバイト数を取得する

Oracle Database 文字のバイト数を取得する

Oracle Databaseで、文字のバイト数を取得する手順を記述してます。「LENGTHB」で可能です。ここでは、実際に実行した結果を画像で掲載してます。

環境

  • OS windows11 home
  • Oracle Database 21c Express Edition
  • SQL Developer 21.2.1.204

手順

文字のバイト数を取得するには、「LENGTHB」を使用します。

LENGTHB( 文字列 )

実際に、取得してみます。
※「DUAL」テーブルはダミーとして使用できるテーブルです。

SELECT 
LENGTHB('abc'),
LENGTHB('あいう'),
LENGTHB('abc'),
LENGTHB('123'),
LENGTHB(123)
FROM DUAL;

実行結果

バイト数で取得されていることが確認できます。
※ここでは「AL32UTF8環境」になっているため「全角文字」は3バイトとなります。

空白

空白も同じように、1つ1文字として取得されます。

SELECT 
LENGTHB('   '),
LENGTHB('   ')
FROM DUAL;

実行結果

サロゲートペア文字

サロゲートペア文字は、4バイトとして扱われます。

SELECT 
LENGTHB('😇😈😃')
FROM DUAL;

実行結果