我的数据库中有一个表 CANDIDATE,它在 MySQL 5.5 下运行,我试图从 xy 包含在名字中的表中获取行,所以我可以在两个查询下运行
SELECT FIRSTNAME FROM candidate WHERE FIRSTNAME REGEXP '^xy.+';
SELECT FIRSTNAME FROM candidate WHERE FIRSTNAME REGEXP '^xy.*';
我得到了相同的结果,所以想在这两个 REGEXP 中获得差异。
*
零个或多个前面的元素。
+
一个或多个前面的元素。
+
表示一个或多个,*
表示零个或多个
+
导致生成的 RE 匹配前一个 RE 的 1 次或多次重复。ab+ 将匹配 'a' 后跟任何非零数量的 'b';它不会只匹配“a”。
*
导致生成的 RE 匹配前面 RE 的 0 次或多次重复,尽可能多的重复。ab* 将匹配 'a'、'ab' 或 'a' 后跟任意数量的 'b'。
a* 对应于“a”的零次或多次重复
a+ 对应于“a”重复一次或多次
所以想得到这两个REGEXP的差异。
将名称“xy”添加到您的数据库中。