在从MS Access转换到Sqlite时,我遇到了一个小问题
以下[,. ]%
在MS Access中可以很好地匹配单词之后的字符逗号,句点和空格,但不能在Sqlite中匹配。
例如,对于字典短语“aaa, bbb ccc
”和“aaa, bbbbbb ccc
”,如果用户键入“aaa bbb
”,则变为“aaa[,. ]%bbb
”,然后进入一个SELECT * FROM mytable WHERE text LIKE ?
。这在Sqlite中不起作用,但它在MS Access中起作用。此外,我希望它只选择第一个字典短语,而不是第二个。
所以,我的问题是我如何匹配Sqlite中的一组字符?
编辑:我无法使用正则表达式,所以我想要一个没有正则表达式的解决方案
答案 0 :(得分:1)
AFAIK,你不能,你需要使用REGEXP
。
我能想到的最好的事情就是这样:
select *
from t
where replace(replace(txt, ',', ''), '.', '') like 'aaa bbb%';
这不会涵盖aaa,bbbb
或aaa bbbb
。
答案 1 :(得分:1)