Rumah  >  Soal Jawab  >  teks badan

MySQL secara automatik menukar/menukar rentetan kepada nombor?

Adakah MySQL menukar rentetan kepada nilai angka secara automatik?

Bagaimanakah penukaran ini berfungsi?

Memandangkan units.id adalah jenis bigint, bagaimanakah pertanyaan ini akan ditafsirkan?

SELECT table.* 
FROM table 
WHERE id='text'

P粉336536706P粉336536706361 hari yang lalu631

membalas semua(2)saya akan balas

  • P粉099145710

    P粉0991457102023-10-25 00:55:21

    Secara lalai, MySQL menganggap 1 dan "1" sama, tetapi anda boleh mengubahnya dengan menetapkan tingkah laku MySQL kepada mod ketat.

    set @@GLOBAL.sql_mode  = "STRICT_ALL_TABLES";
    set @@SESSION.sql_mode = "STRICT_ALL_TABLES";

    Atau anda boleh menetapkan pembolehubah ini dalam fail my.cnf sebagai pembolehubah kekal dalam sql_mode = ''. Dengan cara ini, MySQL akan membuang ralat jika jenis yang salah digunakan. Baca http://dev.mysql.com/doc/ refman/5.0/en/server-sql-mode.html untuk butiran lanjut

    balas
    0
  • P粉330232096

    P粉3302320962023-10-25 00:05:40

    Jawapan kepada tiga soalan pertama ialah: ya, ya, dan tidak.

    sebagai rentetan 'text'转换为数字时,它变成值0.

    Dokumentasi yang menerangkan penukaran jenis terdapat di sini .

    Untuk pertanyaan anda:

    SELECT table.* 
    FROM table 
    WHERE id='text';

    Peraturan ini ditangkap melalui petikan dokumentasi:

    Dalam erti kata lain, ini sebenarnya bersamaan dengan:

    WHERE id = 0.0

    balas
    0
  • Batalbalas