Di MariaDB, LENGTHB()
adalah fungsi string bawaan yang mengembalikan panjang argumen string yang diberikan, diukur dalam byte.
Sintaks
Sintaksnya seperti ini:
LENGTHB(str)
Dimana str
adalah string yang panjangnya akan dikembalikan.
Contoh
Berikut ini contoh dasarnya:
SELECT LENGTHB('café');
Hasil:
+------------------+ | LENGTHB('café') | +------------------+ | 5 | +------------------+
Dalam hal ini, panjang string adalah empat karakter, tetapi LENGTHB()
mengembalikan 5
. Ini karena karakter terakhir menggunakan dua byte.
Perbandingan dengan CHAR_LENGTH()
dan BIT_LENGTH()
Berikut perbandingan singkat antara LENGTHB()
, CHAR_LENGTH()
(yang mengembalikan jumlah karakter dalam string) dan BIT_LENGTH()
(yang mengembalikan jumlah bit dalam string):
SELECT
LENGTHB('อ'),
CHAR_LENGTH('อ'),
BIT_LENGTH('อ');
Hasil:
+----------------+--------------------+-------------------+ | LENGTHB('อ') | CHAR_LENGTH('อ') | BIT_LENGTH('อ') | +----------------+--------------------+-------------------+ | 3 | 1 | 24 | +----------------+--------------------+-------------------+
Karakter Thailand ini (อ
) menggunakan 3 byte, dan karenanya LENGTHB()
mengembalikan 3
.
CHAR_LENGTH()
mengembalikan 1
, karena masih satu karakter, dan BIT_LENGTH()
mengembalikan jumlah bit (24
).
Non-String
Jika argumennya bukan string, itu akan diubah menjadi string.
Berikut contoh lain yang menggunakan angka:
SELECT LENGTHB(1234);
Hasil:
+---------------+ | LENGTHB(1234) | +---------------+ | 4 | +---------------+
Argumen Null
Melewati null
mengembalikan null
:
SELECT LENGTHB(null);
Hasil:
+---------------+ | LENGTHB(null) | +---------------+ | NULL | +---------------+
Argumen Tidak Ada
Memanggil LENGTHB()
tanpa meneruskan argumen menghasilkan kesalahan:
SELECT LENGTHB();
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LENGTHB'
LENGTHB()
vs LENGTH()
LENGTHB()
fungsinya mirip dengan LENGTH()
fungsi, kecuali cara kerjanya dalam mode Oracle.
LENGTHB()
fungsi bekerja dengan cara yang sama, apa pun modenya (yaitu mengembalikan jumlah byte dalam string).
LENGTH()
di sisi lain, berperilaku berbeda, tergantung apakah itu dalam mode Oracle atau mode default.
Khususnya, ketika dalam mode default, LENGTH()
mengukur string dalam byte. Tetapi ketika dalam mode Oracle, ia mengukur string dalam karakter .