Nếu bạn cố gắng so sánh chuỗi với int, MySQL sẽ không phát sinh lỗi vì nó chuyển đổi chuỗi thành int. Đầu tiên chúng ta hãy tạo một bảng -
mysql> create table DemoTable1852 ( Value1 varchar(20), Value2 int ); Query OK, 0 rows affected (0.00 sec)
Chèn một số bản ghi vào bảng bằng lệnh chèn -
mysql> insert into DemoTable1852 values('1John',1); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1852 values('John',1); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1852 values('1',1); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1852 values('John1',1); Query OK, 1 row affected (0.00 sec)
Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -
mysql> select * from DemoTable1852;
Điều này sẽ tạo ra kết quả sau -
+--------+--------+ | Value1 | Value2 | +--------+--------+ | 1John | 1 | | John | 1 | | 1 | 1 | | John1 | 1 | +--------+--------+ 4 rows in set (0.00 sec)
Đây là truy vấn để so sánh các loại trong MySQL và nó sẽ không gây ra lỗi -
mysql> select Value1,Value2, Value1=Value2 as Result from DemoTable1852;
Điều này sẽ tạo ra kết quả sau -
+--------+--------+--------+ | Value1 | Value2 | Result | +--------+--------+--------+ | 1John | 1 | 1 | | John | 1 | 0 | | 1 | 1 | 1 | | John1 | 1 | 0 | +--------+--------+--------+ 4 rows in set, 3 warnings (0.00 sec)