MySQL 的 LIKE 運算子和等於 (=) 運算子之間有什麼顯著區別?
我們已經瞭解瞭如何使用 MySQL SELECT 命令從 MySQL 表中獲取資料。我們還可以使用稱為 WHERE 子句的條件子句來選擇所需記錄。
當需要進行精確匹配時,帶有“等於”號 (=) 的 WHERE 子句可以很好地工作。例如,“tutorial_author = 'Sanjay'”。但是,可能需要過濾所有 tutorial_author 名稱包含“jay”的結果。這可以使用 MySQL LIKE 運算子以及 WHERE 子句來處理。
如果在不使用萬用字元的情況下使用 MySQL LIKE 運算子,則 LIKE 運算子與 WHERE 子句中的等於號完全相同。
示例
mysql> Select * from Student Where Name LIKE 'Harshit'; +------+---------+---------+----------+--------------------+ | Id | Name | Address | Subject | year_of_admission | +------+---------+---------+----------+--------------------+ | 15 | Harshit | Delhi | Commerce | 2009 | +------+---------+---------+----------+--------------------+ 1 row in set (0.00 sec) mysql> Select * from Student Where Name = 'Harshit'; +------+---------+---------+----------+--------------------+ | Id | Name | Address | Subject | year_of_admission | +------+---------+---------+----------+--------------------+ | 15 | Harshit | Delhi | Commerce | 2009 | +------+---------+---------+----------+--------------------+ 1 row in set (0.00 sec)
除了具有萬用字元 % 和 _ 的區別之外,LIKE 和 = 運算子之間的一個顯著區別在於,LIKE 運算子不忽略尾隨空格,而 = 運算子忽略尾隨空格。
示例
mysql> Select * from Student Where Name = 'Harshit '; +------+---------+---------+----------+--------------------+ | Id | Name | Address | Subject | year_of_admission | +------+---------+---------+----------+--------------------+ | 15 | Harshit | Delhi | Commerce | 2009 | +------+---------+---------+----------+--------------------+ 1 row in set (0.00 sec) mysql> Select * from Student Where Name LIKE 'Harshit '; Empty set (0.00 sec)
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP