Bagaimanakah MySQL Menukar Rentetan kepada Nombor secara Automatik dalam Pertanyaan?

Patricia Arquette
Lepaskan: 2024-11-17 17:07:02
asal
442 orang telah melayarinya

How Does MySQL Automatically Convert Strings to Numbers in Queries?

Memahami Penukaran Rentetan-ke-Nombor Automatik MySQL

MySQL mempamerkan gelagat unik apabila bekerja dengan rentetan dan nilai angka. Dalam senario tertentu, ia menukar rentetan secara automatik kepada pasangan berangka, menimbulkan persoalan menarik tentang cara penukaran ini berlaku.

Peraturan Penukaran Automatik

MySQL mengikut peraturan khusus untuk penukaran rentetan automatik :

  • Rentetan yang mengandungi digit sahaja (mis., '1234') ditukar kepada nilai angka yang sepadan (1234).
  • Rentetan yang mengandungi kedua-dua digit dan bukan digit (mis., ' 1abc') ditukar kepada nilai berangka awalannya (1).
  • Rentetan yang mengandungi bukan digit sahaja (cth., 'teks') ditukar kepada 0.

Aplikasi dalam Pertanyaan

Pertimbangkan pertanyaan berikut:

SELECT table.* 
FROM table 
WHERE>
Salin selepas log masuk

Di mana lajur id adalah daripada jenis data yang besar. Pertanyaan mencari baris di mana lajur id sepadan dengan rentetan 'teks'.

Mengikut peraturan penukaran, 'teks' akan ditukar kepada 0. Oleh itu, pertanyaan dengan berkesan menjadi:

WHERE id = 0.0
Salin selepas log masuk

Ini menyerlahkan penilaian MySQL terhadap rentetan bukan angka sebagai nombor nyata, menghasilkan perbandingan dengan titik terapung setaranya (oleh itu 'teks' ditafsirkan sebagai 0.0).

Cerapan Tambahan

Untuk mendapatkan maklumat lanjut tentang topik ini, rujuk dokumentasi MySQL rasmi tentang penukaran jenis di [pautan ke dokumentasi].

Atas ialah kandungan terperinci Bagaimanakah MySQL Menukar Rentetan kepada Nombor secara Automatik dalam Pertanyaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan