В MariaDB, BIT_LENGTH()
е вградена функция низ, която връща дължината на дадения низов аргумент в битове.
Вие предоставяте низа като аргумент, когато извиквате функцията.
Синтаксис
Синтаксисът е така:
BIT_LENGTH(str)
Където str
е низът.
Пример
Ето един прост пример:
SELECT BIT_LENGTH('A');
Резултат:
+-----------------+ | BIT_LENGTH('A') | +-----------------+ | 8 | +-----------------+
Можем да видим, че буквата A е дълга 8 бита (т.е. 1 байт).
Ето пример, който използва знаци, които са по-дълги от 1 байт:
SELECT
BIT_LENGTH('©'),
BIT_LENGTH('ไ'),
BIT_LENGTH('ม้');
Резултат:
+------------------+-------------------+----------------------+ | BIT_LENGTH('©') | BIT_LENGTH('ไ') | BIT_LENGTH('ม้') | +------------------+-------------------+----------------------+ | 16 | 24 | 48 | +------------------+-------------------+----------------------+
Вторият и третият низ са тайландски знаци. Третият низ използва диакритичен знак, който в крайна сметка удвоява броя на върнатите битове.
Ето този знак със и без диакритичен знак:
SELECT
BIT_LENGTH('ม้'),
BIT_LENGTH('ม');
Резултат:
+----------------------+-------------------+ | BIT_LENGTH('ม้') | BIT_LENGTH('ม') | +----------------------+-------------------+ | 48 | 24 | +----------------------+-------------------+
Грешен тип аргумент
Ако аргументът не е низ, той ще бъде преобразуван в низ.
Пример:
SELECT
BIT_LENGTH(1),
BIT_LENGTH(12),
BIT_LENGTH(123);
Резултат:
+---------------+----------------+-----------------+ | BIT_LENGTH(1) | BIT_LENGTH(12) | BIT_LENGTH(123) | +---------------+----------------+-----------------+ | 8 | 16 | 24 | +---------------+----------------+-----------------+
Нулеви аргументи
Предаването на null
връща null
:
SELECT BIT_LENGTH(null);
Резултат:
+------------------+ | BIT_LENGTH(null) | +------------------+ | NULL | +------------------+
Липсващ аргумент
Извикване на BIT_LENGTH()
без подаване на аргумент води до грешка:
SELECT BIT_LENGTH();
Резултат:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'BIT_LENGTH'