【发布时间】:2014-07-31 16:59:41
【问题描述】:
例如,在我的表 'table1' 和列 'code' 中,我有 varchar “New York”。
例如,给定字符“yk”,我想获得“纽约”。
我可以通过下面的查询在 MySql 中使用 REGEXP 来获取它
SELECT * FROM table1 WHERE (code) REGEXP '.*y+.*k+.*';
问题是如果搜索字符是“ky”,我希望得到相同的结果
谁能帮帮我?
Tks.
【问题讨论】:
例如,在我的表 'table1' 和列 'code' 中,我有 varchar “New York”。
例如,给定字符“yk”,我想获得“纽约”。
我可以通过下面的查询在 MySql 中使用 REGEXP 来获取它
SELECT * FROM table1 WHERE (code) REGEXP '.*y+.*k+.*';
问题是如果搜索字符是“ky”,我希望得到相同的结果
谁能帮帮我?
Tks.
【问题讨论】:
两个独立的正则表达式如何:
SELECT * FROM table1 WHERE (code) REGEXP '.*y.*' and (code) REGEXP '.*k.*';
另外,我不熟悉 mysql 正则表达式,但是这应该可行吗:
SELECT * FROM table1 WHERE (code) REGEXP 'y' and (code) REGEXP 'k';
或者这个
SELECT * FROM table1 WHERE (code) like '%y%' and (code) like '%k%';
【讨论】:
搜索两次怎么样:
SELECT * FROM table1 WHERE (code) REGEXP '.*y+.*k+.*' OR (code) REGEXP '.*k+.*y+.*';
【讨论】: