8.15.1 LENGTHB
対象データの長さをバイト数で返します。
- 〈この項の構成〉
(1) 指定形式
スカラ関数LENGTHB::=LENGTHB(対象データ) 対象データ::=値式
(2) 指定形式の説明
- 対象データ:
-
長さを求める対象データを指定します。
指定規則を次に示します。
-
対象データは,値式の形式で指定します。値式については,「7.21 値式」を参照してください。
-
対象データには,配列データおよび構造データを指定できません。
-
対象データには,?パラメタを単独で指定できません。
-
(3) 規則
-
実行結果のデータ型はBIGINT型※になります。
- 注※
-
整数データ型のデータ形式がレガシー形式の場合はINTEGER型になります。
-
実行結果の値は,非ナル値制約なし(ナル値を許す)となります。
-
対象データがナル値の場合,実行結果はナル値になります。
-
対象データのデータ型ごとの実行結果の値を次の表に示します。
表8‒61 対象データのデータ型ごとの実行結果の値 項番
対象データのデータ型
実行結果の値(バイト)
1
BIGINT
8
2
INTEGER
4※1
3
SMALLINT
2※2
4
DECIMAL
または
NUMERIC
精度が1〜4桁の場合
2
5
精度が5〜8桁の場合
4
6
精度が9〜16桁の場合
8
7
精度が17〜38桁の場合
16
8
DOUBLE PRECISIONまたはFLOAT
8
9
REAL
4
10
CHAR(n)
n
11
VARCHAR
実長
12
STRING
実長
13
DATE
4
14
TIME(p)
3+↑p÷2↑
15
TIMESTAMP(p)
7+↑p÷2↑
16
BINARY(n)
n
17
VARBINARY
実長
18
BOOLEAN
1
19
UUID
16
- 注※1
-
整数データ型のデータ形式がレガシー形式の場合は8バイトになります。
- 注※2
-
整数データ型のデータ形式がレガシー形式の場合は4バイトになります。
(4) 例題
- 例題1(対象データが文字データの場合)
-
表T1のC1列(VARCHAR型)のデータの実長を求めます。
なお,使用している文字コードは,Unicode(UTF-8)とします。
SELECT LENGTHB("C1") FROM "T1" - 例題2(対象データがバイナリデータの場合)
-
表T1のC1列(VARBINARY(5))とC2列(BINARY(5))の,各行のデータの実長を求めます。
SELECT LENGTHB("C1"), LENGTHB("C2") FROM "T1"