W MariaDB, BIT_LENGTH()
to wbudowana funkcja łańcuchowa, która zwraca długość podanego argumentu łańcuchowego w bitach.
Podajesz łańcuch jako argument podczas wywoływania funkcji.
Składnia
Składnia wygląda tak:
BIT_LENGTH(str)
Gdzie str
jest ciągiem.
Przykład
Oto prosty przykład:
SELECT BIT_LENGTH('A');
Wynik:
+-----------------+ | BIT_LENGTH('A') | +-----------------+ | 8 | +-----------------+
Widzimy, że litera A ma 8 bitów (tj. 1 bajt).
Oto przykład, który używa znaków dłuższych niż 1 bajt:
SELECT
BIT_LENGTH('©'),
BIT_LENGTH('ไ'),
BIT_LENGTH('ม้');
Wynik:
+------------------+-------------------+----------------------+ | BIT_LENGTH('©') | BIT_LENGTH('ไ') | BIT_LENGTH('ม้') | +------------------+-------------------+----------------------+ | 16 | 24 | 48 | +------------------+-------------------+----------------------+
Drugi i trzeci ciąg to znaki tajskie. Trzeci ciąg używa znaku diakrytycznego, co w efekcie podwaja liczbę zwracanych bitów.
Oto ten znak ze znakiem diakrytycznym i bez niego:
SELECT
BIT_LENGTH('ม้'),
BIT_LENGTH('ม');
Wynik:
+----------------------+-------------------+ | BIT_LENGTH('ม้') | BIT_LENGTH('ม') | +----------------------+-------------------+ | 48 | 24 | +----------------------+-------------------+
Niewłaściwy typ argumentu
Jeśli argument nie jest łańcuchem, zostanie przekonwertowany na łańcuch.
Przykład:
SELECT
BIT_LENGTH(1),
BIT_LENGTH(12),
BIT_LENGTH(123);
Wynik:
+---------------+----------------+-----------------+ | BIT_LENGTH(1) | BIT_LENGTH(12) | BIT_LENGTH(123) | +---------------+----------------+-----------------+ | 8 | 16 | 24 | +---------------+----------------+-----------------+
Argumenty zerowe
Przekazywanie null
zwraca null
:
SELECT BIT_LENGTH(null);
Wynik:
+------------------+ | BIT_LENGTH(null) | +------------------+ | NULL | +------------------+
Brakujący argument
Wywołanie BIT_LENGTH()
bez przekazania argumentu powoduje błąd:
SELECT BIT_LENGTH();
Wynik:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'BIT_LENGTH'