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

Apa yang terjadi dengan string pencocokan bidang integer MySQL?

String selalu dikonversi ke 0 jika dibandingkan dengan numerik (tentu saja string yang berisi numerik + string dikonversi menjadi numerik. tetapi ini bukan praktik yang baik)

mysql> SELECT 'Yes' + 0;
+-----------+
| 'Yes' + 0 |
+-----------+
|         0 |
+-----------+
1 row in set, 1 warning (0.00 sec)

mysql> show warnings;
+---------+------+-----------------------------------------+
| Level   | Code | Message                                 |
+---------+------+-----------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Yes' |
+---------+------+-----------------------------------------+

Jika Anda ingin menyimpan nilai biner (Ya/Tidak atau Benar/Salah) atau kumpulan nilai kecil, ENUM adalah pilihan yang baik. Dibutuhkan ruang disk yang kecil dan dapat menggunakan String yang bermakna.

mysql> CREATE TABLE enum_test(a ENUM('Yes', 'No'));
Query OK, 0 rows affected (0.00 sec)

mysql> insert into enum_test values('Yes'), ('No'), ('Invalid');
Query OK, 3 rows affected, 1 warning (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 1

mysql> show warnings;
+---------+------+----------------------------------------+
| Level   | Code | Message                                |
+---------+------+----------------------------------------+
| Warning | 1265 | Data truncated for column 'a' at row 3 |
+---------+------+----------------------------------------+
1 row in set (0.00 sec)

mysql> select * from enum_test where a = 'Yes';
+------+
| a    |
+------+
| Yes  |
+------+
1 row in set (0.00 sec)

mysql> select * from enum_test where a = 'No';
+------+
| a    |
+------+
| No   |
+------+
1 row in set (0.00 sec)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kelompokkan hasil mysql berdasarkan kategori dan tampilkan ke dalam grup di bawah setiap kategori

  2. Beberapa kunci asing di tabel yang sama

  3. Meniru SEQUENCE yang aman untuk transaksi di MySQL

  4. Nomor baris per grup di mysql

  5. Bagaimana cara memilih baris ke-n dalam tabel database SQL?