MySQL LIKE 和 equal to (=) 运算符之间的显着区别是什么?

我们已经看到 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)

猜你喜欢