Rumah  >  Artikel  >  pangkalan data  >  Bagaimanakah anda mengisih data mengikut panjang rentetan dalam MySQL?

Bagaimanakah anda mengisih data mengikut panjang rentetan dalam MySQL?

DDD
DDDasal
2024-11-02 13:32:30155semak imbas

How do you sort data by string length in MySQL?

Memilih Data mengikut Panjang Rentetan dalam MySQL

Percubaan Pertanyaan Awal:

Pertimbangkan pertanyaan berikut, yang cuba mengisih data mengikut panjang rentetan:

<code class="sql">SELECT * FROM table ORDER BY string_length(column);</code>

Walau bagaimanapun, pertanyaan ini menghasilkan ralat. Walaupun terdapat fungsi string_length dalam MySQL, ia tidak boleh digunakan untuk mengisih data.

Penyelesaian: Menggunakan CHAR_LENGTH()

Untuk mengisih data mengikut panjang rentetan, anda perlu menggunakan fungsi CHAR_LENGTH(). Tidak seperti string_length, CHAR_LENGTH() mengembalikan bilangan aksara dalam rentetan, bukan bilangan bait.

Pertanyaan Kemas Kini:

<code class="sql">SELECT * FROM table ORDER BY CHAR_LENGTH(column);</code>

Perbezaan antara LENGTH() dan CHAR_LENGTH()

Untuk set aksara berbilang bait (cth., UTF-8), LENGTH() akan mengembalikan bilangan bait dalam rentetan, manakala CHAR_LENGTH() akan mengembalikan bilangan aksara. Oleh itu, untuk set aksara berbilang bait, anda harus menggunakan CHAR_LENGTH() untuk pengiraan panjang rentetan yang tepat.

Atas ialah kandungan terperinci Bagaimanakah anda mengisih data mengikut panjang rentetan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn