编辑: 我有一个带有“ option_name”的mysql表行。
选项名称为:
my_option_en
my_option_de
my_option_adv_en
my_option_adv_de
my_option_sc_en
my_option_sc_de
my_option_labs_en
my_option_labs_de
对选项名称my_option_
的查询应返回my_option_en
和my_option_de
,但不返回其他任何选项名称
我需要的是查找以2个任意字母结尾的给定字符串(语言iso 代码),并且2个语言的等号后没有任何字符。
如何使用Mysql REGEXP实现它?谢谢
答案 0 :(得分:0)
这将丢弃option_name
以my_option_adv
开头的每一行:
select option_name
from yourtable
where not(option_name regexp '^my_option_adv')
此处演示: db-fiddle.com
答案 1 :(得分:0)
在MySQL regexp表单中,您将需要
SELECT *
FROM yourtable
WHERE option_name REGEXP '^my_option_[a-z]{2}$'
答案 2 :(得分:0)
WHERE CHAR_LENGTH(option_name) = 12
将完全按照您所说的去做。但是我怀疑那还不够。