В MariaDB, OCTET_LENGTH() е вградена низова функция, която връща дължината на дадения низ аргумент, измерена в октети (байтове).
OCTET_LENGTH() е синоним на LENGTHB() .
Това също е синоним на LENGTH() когато не е в режим на Oracle (LENGTH() се държи различно в режим на Oracle).
Синтаксис
Синтаксисът е така:
OCTET_LENGTH(str)
Където str е низът, за който ще бъде върната дължината.
Пример
Ето един основен пример:
SELECT OCTET_LENGTH('café'); Резултат:
<пред>+-----------------------+| OCTET_LENGTH('кафене') |+-----------------------+| 5 |+-----------------------+
В този случай низът е дълъг четири знака, но OCTET_LENGTH() върна 5 . Това е така, защото последният символ използва два октета/байта.
Сравнение с CHAR_LENGTH() и BIT_LENGTH()
Ето едно бързо сравнение между OCTET_LENGTH() , CHAR_LENGTH() (който връща броя на знаците в низа) и BIT_LENGTH() (който връща броя на битовете в низа):
SELECT
OCTET_LENGTH('อ'),
CHAR_LENGTH('อ'),
BIT_LENGTH('อ'); Резултат:
+---------------------+--------------------+--- ----------------+| OCTET_LENGTH('อ') | CHAR_LENGTH('อ') | BIT_LENGTH('อ') |+---------------------+------------------- +------------------+| 3 | 1 | 24 |+---------------------+--------------------+---- ---------------+
Този тайландски знак (อ ) използва 3 байта и следователно OCTET_LENGTH() връща 3 .
CHAR_LENGTH() връща броя на знаците (1 ) и BIT_LENGTH() връща броя на битовете (24 ).
Не-низови
Ако аргументът не е низ, той се преобразува в низ.
Ето още един пример, който използва число:
SELECT OCTET_LENGTH(1234); Резултат:
+-------------------+| OCTET_LENGTH(1234) |+-------------------+| 4 |+-------------------+
Нулеви аргументи
Предаването на null връща null :
SELECT OCTET_LENGTH(null); Резултат:
+-------------------+| OCTET_LENGTH(нула) |+-------------------+| NULL |+-------------------+
Липсващ аргумент
Извикване на OCTET_LENGTH() без подаване на аргумент води до грешка:
SELECT OCTET_LENGTH(); Резултат:
ГРЕШКА 1582 (42000):Неправилен брой параметри в извикването на естествена функция „OCTET_LENGTH“