Computer >> Máy Tính >  >> Lập trình >> MySQL

Sử dụng "WHERE nhị phân" trong SQL?

Từ khóa nhị phân có thể được sử dụng sau mệnh đề WHERE để so sánh giá trị với đối sánh phân biệt chữ hoa chữ thường chính xác.

Sau đây là một ví dụ -

Trường hợp 1 - Đối sánh không phân biệt chữ hoa chữ thường

Truy vấn như sau -

mysql> select 'joHN'='JOHN' as Result;

Sau đây là kết quả -

+--------+
| Result |
+--------+
|      1 |
+--------+
1 row in set (0.00 sec)

Trong kết quả đầu ra mẫu ở trên, kết quả là true trong khi chúng ta biết joHN và JOHN là hai từ khác nhau. Đây không phải là đối sánh phân biệt chữ hoa chữ thường.

Trường hợp 2 - Nếu bạn muốn đối sánh phân biệt chữ hoa chữ thường, hãy sử dụng từ khóa nhị phân.

Truy vấn như sau -

mysql> select binary 'joHN'='JOHN' as Result;

Sau đây là kết quả -

+--------+
| Result |
+--------+
|      0 |
+--------+
1 row in set (0.00 sec)

Bây giờ chúng ta hãy xem một truy vấn khác -

mysql> select binary 'JOHN'='JOHN' as Result;

Sau đây là kết quả -

+--------+
| Result |
+--------+
|      1 |
+--------+
1 row in set (0.00 sec)

LƯU Ý - Bạn có thể sử dụng từ khóa nhị phân để làm cho cột của mình phân biệt chữ hoa chữ thường với sự trợ giúp của từ khóa nhị phân bất cứ khi nào bạn tạo bảng.

Để hiểu khái niệm trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -

mysql> create table binaryKeywordDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(10) binary,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.88 sec)

Chèn một số bản ghi trong bảng bằng lệnh INSERT. Truy vấn như sau -

mysql> insert into binaryKeywordDemo(Name) values('bOB');
Query OK, 1 row affected (0.15 sec)
mysql> insert into binaryKeywordDemo(Name) values('bob');
Query OK, 1 row affected (0.13 sec)
mysql> insert into binaryKeywordDemo(Name) values('BOB');
Query OK, 1 row affected (0.18 sec)
mysql> insert into binaryKeywordDemo(Name) values('Bob');
Query OK, 1 row affected (0.18 sec)
mysql> insert into binaryKeywordDemo(Name) values('bOb');
Query OK, 1 row affected (0.15 sec)
mysql> insert into binaryKeywordDemo(Name) values('boB');
Query OK, 1 row affected (0.21 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -

mysql> select *from binaryKeywordDemo;

Sau đây là kết quả -

+----+------+
| Id | Name |
+----+------+
|  1 | bOB  |
|  2 | bob  |
|  3 | BOB  |
|  4 | Bob  |
|  5 | bOb  |
|  6 | boB  |
+----+------+
6 rows in set (0.00 sec)

Sau đây là truy vấn để đối sánh chính xác như phân biệt chữ hoa chữ thường -

mysql> select *from binaryKeywordDemo where Name='Bob';

Đây là kết quả -

+----+------+
| Id | Name |
+----+------+
|  4 | Bob  |
+----+------+
1 row in set (0.00 sec)