Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana Fungsi CHARACTER_LENGTH() Bekerja di MySQL

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Panduan Merancang Database Untuk Keranjang Belanja Online Di MySQL

  2. Memigrasikan Database MySQL dari Amazon RDS ke DigitalOcean

  3. Bisakah JavaScript terhubung dengan MySQL?

  4. Hubungkan ke mysql dalam wadah buruh pelabuhan dari Host

  5. Perbedaan MySql antara dua cap waktu dalam beberapa hari?