Di MySQL, CHARACTER_LENGTH()
fungsi mengembalikan panjang string, diukur dalam karakter.
CHARACTER_LENGTH()
adalah sinonim untuk CHAR_LENGTH()
fungsi.
Sintaks
Sintaksnya seperti ini:
CHARACTER_LENGTH(str)
Dimana str
adalah string yang panjangnya akan dikembalikan.
Contoh 1 – Penggunaan Dasar
Berikut ini contoh penggunaan dasarnya:
SELECT CHARACTER_LENGTH('Cat');
Dan inilah hasilnya:
+-------------------------+ | CHARACTER_LENGTH('Cat') | +-------------------------+ | 3 | +-------------------------+
Contoh 2 – Trailing Blanks
Perhatikan bahwa CHARACTER_LENGTH()
menyertakan trailing blank (misalnya spasi di akhir string) dalam perhitungannya.
Jadi jika kita menambahkan spasi di akhir contoh sebelumnya:
SELECT CHARACTER_LENGTH('Cat ');
Ini hasilnya:
+--------------------------+ | CHARACTER_LENGTH('Cat ') | +--------------------------+ | 4 | +--------------------------+
Namun kita selalu dapat menghapus spasi tambahan tersebut dengan menggunakan TRIM()
fungsi atau RTRIM()
fungsi:
SELECT CHARACTER_LENGTH(TRIM('Cat ')) AS 'TRIM', CHARACTER_LENGTH(RTRIM('Cat ')) AS 'RTRIM';
Ini hasilnya:
+------+-------+ | TRIM | RTRIM | +------+-------+ | 3 | 3 | +------+-------+
Contoh 3 – Kosong Awal
Konsep yang sama berlaku untuk blanko terkemuka. Anda dapat menggunakan TRIM
atau LTRIM
:
SELECT CHARACTER_LENGTH(TRIM(' Cat')) AS 'TRIM', CHARACTER_LENGTH(LTRIM(' Cat')) AS 'LTRIM';
Hasil:
+------+-------+ | TRIM | LTRIM | +------+-------+ | 3 | 3 | +------+-------+
Contoh 4 – Tipe Data
Tidak masalah tipe data apa string disimpan, itu akan tetap mengembalikan hasil yang sama. Ini berbeda dengan LENGTH()
fungsi, yang akan mengembalikan dua kali lipat jumlah karakter jika data disimpan sebagai string Unicode.
Dalam contoh berikut, kolom ArtistName menggunakan varchar(255) :
SELECT CHARACTER_LENGTH(ArtistName) Result FROM Artists WHERE ArtistName = 'Lit';
Ini hasilnya:
+--------+ | Result | +--------+ | 3 | +--------+
Dan jika kita memodifikasi ArtistName
kolom untuk menggunakan Unicode:
ALTER TABLE Artists MODIFY COLUMN ArtistName VARCHAR(255) unicode;
Dan jalankan kueri yang sama lagi:
SELECT CHARACTER_LENGTH(ArtistName) FROM Artists WHERE ArtistName = 'Lit';
Kami masih mendapatkan hasil yang sama:
+--------+ | Result | +--------+ | 3 | +--------+
Namun, jika kita telah menggunakan LENGTH()
fungsi, hasilnya akan menjadi 6. Ini karena string Unicode menyimpan 2 byte per karakter, dan LENGTH()
fungsi mengembalikan panjang yang diukur dalam byte.