mysql - 喜欢和正则表达式运算符之间的区别

标签 mysql sql regex sql-like

我现在正在学习 MySQL。我需要你的帮助来理解这些查询之间的区别:

select id from tab where id like '000';

select id from tab where id regex '000';

最佳答案

您的第一个查询使用 like 运算符,但不使用任何通配符。所以相当于:

select id from tab where id = '000';

仅列出那些 id000id

第二个查询使用 regex 运算符并列出 id 包含 000 anywhere 的行。

示例:它会列出这些 id 的:1000,2000,000 ,0001

要使您的第一个查询表现得像第二个查询,您必须使用匹配零个或多个字符的通配符 %:

select id from tab where id like '%000%';

要使您的第二个查询表现得像拳头一样,您必须使用 start anchor(^) 和 end anchor($):

select id from tab where id regex '^000$';

关于mysql - 喜欢和正则表达式运算符之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4078633/

相关文章:

php - 水平和动态地连接表

sql - 根据日期滚动总和(当日期缺失时)

sql - 如何在过程执行期间跟踪异常错误消息

sql - 如何提取 DATE 的年份并将其插入新列?

javascript - Html 页面标记使用正则表达式计数

javascript - 使用正则表达式从字符串中提取 URL

mysql - 设计电子商务数据库 - MySQL

mysql - 显示日期之间的数据并循环遍历年份

regex - 如何在 Notepad++ 中进行非贪婪的正则表达式查询?

sql - 带 Left Join 的 Mysql 查询太慢了