Определение длины строки (в байтах) (OCTET_LENGTH)

Функция

Определение длины строки в байтах.

Спецификация
 
<​синтаксис​>::=
OCTET_LENGTH (строка)
Общие правила
  1. <​Строка​> должна иметь тип CHAR, VARCHAR, NCHAR, NCHAR VARYING.

  2. <​Строка​> может быть задана <​SQL-параметром​>, который должен содержать спецификацию типа данных параметра.

    select octet_length(? (nchar(20)));
    Тестовая строка
    |         30|

Возвращаемое значение
  1. Если <​строка​> имеет тип данных CHAR, VARCHAR, то возвращаемое значение аналогично функции LENGTH.

  2. Если <​строка​> имеет тип данных NCHAR, NCHAR VARYING, то возвращаемое значение равно L*2 байтам, где L – длина <​строки​> в символах.

  3. Тип возвращаемого значения – INT.

Пример
create table tab1 (ch char(10), vc varchar(10), nc nchar(10), nvc nchar varying(10));
insert into tab1(ch, vc, nc, nvc) values('12345', '12345', hex('67458821fc75'), hex('00de54326642'));
select octet_length(ch), octet_length(vc), octet_length(nc), octet_length(nvc) from tab1;
| 5 | 5 | 6 | 6 |