Di MariaDB, CHAR_LENGTH()
adalah fungsi string bawaan yang mengembalikan panjang argumen string yang diberikan, diukur dalam karakter.
Sintaks
Sintaksnya seperti ini:
CHAR_LENGTH(str)
Dimana str
adalah string yang panjangnya akan dikembalikan.
Contoh
Berikut ini contoh dasarnya:
SELECT CHAR_LENGTH('Splash');
Hasil:
+-----------------------+ | CHAR_LENGTH('Splash') | +-----------------------+ | 6 | +-----------------------+
Karakter Multi-Byte
CHAR_LENGTH()
fungsi menghitung setiap karakter sebagai satu karakter, terlepas dari berapa banyak byte yang digunakannya. Oleh karena itu, karakter yang menggunakan dua, tiga, atau bahkan empat byte akan tetap dihitung sebagai satu karakter.
Ini berbeda dengan fungsi seperti LENGTH()
, yang mengembalikan jumlah byte (kecuali dalam mode Oracle, dalam hal ini ia melakukan hal yang sama seperti CHAR_LENGTH()
– mengembalikan jumlah karakter). Ini juga berbeda dengan fungsi seperti BIT_LENGTH()
yang mengembalikan jumlah bit dalam string.
Berikut ini contoh yang membandingkan fungsi-fungsi ini:
SELECT
CHAR_LENGTH('©'),
LENGTH('©'),
BIT_LENGTH('©');
Hasil:
+-------------------+--------------+------------------+ | CHAR_LENGTH('©') | LENGTH('©') | BIT_LENGTH('©') | +-------------------+--------------+------------------+ | 1 | 2 | 16 | +-------------------+--------------+------------------+
Simbol hak cipta (©
) menggunakan dua byte. CHAR_LENGTH()
mengembalikan 1, karena masih hanya satu karakter. LENGTH()
dan BIT_LENGTH()
di sisi lain, kembalikan jumlah byte dan bit masing-masing.
Contoh ini dilakukan dengan menggunakan SQL_MODE
default . Seperti yang disebutkan, jika sudah dalam mode Oracle, LENGTH()
akan berperilaku seperti CHAR_LENGTH()
dan mengembalikan 1
.
Argumen Null
Melewati null
mengembalikan null
:
SELECT CHAR_LENGTH(null);
Hasil:
+-------------------+ | CHAR_LENGTH(null) | +-------------------+ | NULL | +-------------------+
Argumen Tidak Ada
Memanggil CHAR_LENGTH()
tanpa meneruskan argumen menghasilkan kesalahan:
SELECT CHAR_LENGTH();
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CHAR_LENGTH'
Lihat juga CHARACTER_LENGTH()
fungsi, yang merupakan sinonim untuk CHAR_LENGTH()
.