В MariaDB, LENGTHB() е вградена низова функция, която връща дължината на дадения низов аргумент, измерена в байтове.
Синтаксис
Синтаксисът е така:
LENGTHB(str)
Където str е низът, за който ще бъде върната дължината.
Пример
Ето един основен пример:
SELECT LENGTHB('café'); Резултат:
+------------------+
| LENGTHB('café') |
+------------------+
| 5 |
+------------------+
В този случай низът е дълъг четири знака, но LENGTHB() върна 5 . Това е така, защото последният символ използва два байта.
Сравнение с CHAR_LENGTH() и BIT_LENGTH()
Ето едно бързо сравнение между LENGTHB() , CHAR_LENGTH() (който връща броя на знаците в низа) и BIT_LENGTH() (който връща броя на битовете в низа):
SELECT
LENGTHB('อ'),
CHAR_LENGTH('อ'),
BIT_LENGTH('อ'); Резултат:
+----------------+--------------------+-------------------+
| LENGTHB('อ') | CHAR_LENGTH('อ') | BIT_LENGTH('อ') |
+----------------+--------------------+-------------------+
| 3 | 1 | 24 |
+----------------+--------------------+-------------------+
Този тайландски знак (อ ) използва 3 байта и следователно LENGTHB() връща 3 .
CHAR_LENGTH() връща 1 , защото все още е само един знак и BIT_LENGTH() връща броя на битовете (24 ).
Не-низови
Ако аргументът не е низ, той се преобразува в низ.
Ето още един пример, който използва число:
SELECT LENGTHB(1234); Резултат:
+---------------+ | LENGTHB(1234) | +---------------+ | 4 | +---------------+
Нулеви аргументи
Предаването на null връща null :
SELECT LENGTHB(null); Резултат:
+---------------+ | LENGTHB(null) | +---------------+ | NULL | +---------------+
Липсващ аргумент
Извикване на LENGTHB() без подаване на аргумент води до грешка:
SELECT LENGTHB(); Резултат:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LENGTHB'
LENGTHB() срещу LENGTH()
LENGTHB() функцията е подобна на LENGTH() функция, с изключение на начина, по който работи в режим на Oracle.
LENGTHB() функцията работи по същия начин, независимо в кой режим се намира (т.е. връща броя на байтовете в низа).
LENGTH() от друга страна, се държи различно, в зависимост от това дали е в режим на Oracle или режим по подразбиране.
По-конкретно, когато е в режим по подразбиране, LENGTH() измерва низа в байтове. Но когато е в режим на Oracle, той измерва низа в символи .