Di MariaDB, CHARACTER_LENGTH()
adalah fungsi string bawaan yang mengembalikan panjang argumen string yang diberikan, diukur dalam karakter.
CHARACTER_LENGTH()
sebenarnya adalah sinonim untuk CHAR_LENGTH()
, sehingga Anda dapat menggunakan keduanya.
Sintaks
Sintaksnya seperti ini:
CHARACTER_LENGTH(str)
Dimana str
adalah string yang panjangnya akan dikembalikan.
Contoh
Berikut ini contoh dasarnya:
SELECT CHARACTER_LENGTH('Cat');
Hasil:
+-------------------------+| CHARACTER_LENGTH('Kucing') |+-------------------------+| 3 |+-------------------------+
Dalam hal ini, string terdiri dari tiga karakter, jadi kami mendapatkan 3
.
Non-String
Jika argumennya bukan string, itu akan diubah menjadi string.
Berikut contoh lain yang menggunakan angka:
SELECT CHARACTER_LENGTH(1234);
Hasil:
+------------------------+| CHARACTER_LENGTH(1234) |+------------------------+| 4 |+------------------------+
Perbandingan dengan CHAR_LENGTH()
Seperti disebutkan, CHARACTER_LENGTH()
adalah sinonim untuk CHAR_LENGTH()
. Ini dia perbandingannya dengan CHAR_LENGTH()
:
SELECT
CHARACTER_LENGTH(1234),
CHAR_LENGTH(1234);
Hasil:
+-------------------------+-------------------+| CHARACTER_LENGTH(1234) | CHAR_LENGTH(1234) |+------------------------+------------------- +| 4 | 4 |+-------------------------+-------------------+Karakter Multi-Byte
CHARACTER_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 sepertiCHARACTER_LENGTH()
– mengembalikan jumlah karakter). Ini juga berbeda dengan fungsi sepertiBIT_LENGTH()
yang mengembalikan jumlah bit dalam string.Berikut ini contoh yang membandingkan fungsi-fungsi ini:
SELECT CHARACTER_LENGTH('อ'), LENGTH('อ'), BIT_LENGTH('อ');
Hasil:
+-------------------------+---------------+---- ---------------+| CHARACTER_LENGTH('อ') | PANJANG('อ') | BIT_LENGTH('อ') |+-------------------------+---------------+ -------------------+| 1 | 3 | 24 |+--------------+---------------+----- --------------+Karakter Thailand ini (
อ
) menggunakan 3 byte.CHARACTER_LENGTH()
mengembalikan 1, karena masih hanya satu karakter.LENGTH()
danBIT_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 sepertiCHARACTER_LENGTH()
dan mengembalikan1
.Argumen Null
Melewati
null
mengembalikannull
:SELECT CHARACTER_LENGTH(null);
Hasil:
+------------------------+| CHARACTER_LENGTH(null) |+------------------------+| NULL |+-----------------------+Argumen Tidak Ada
Memanggil
CHARACTER_LENGTH()
tanpa meneruskan argumen menghasilkan kesalahan:SELECT CHARACTER_LENGTH();
Hasil:
ERROR 1582 (42000):Jumlah parameter salah dalam panggilan ke fungsi asli 'CHARACTER_LENGTH'