请提示,如何在SQLite中使用REGEXP?
实现:
SELECT field FROM table WHERE field REGEXP '123'
它不起作用。 Error: no such function: REGEXP
答案 0 :(得分:7)
目前正在为Ubuntu 12.04中的Web应用程序开发sqlite3 + php。我也遇到了同样的问题然后经过研究我发现我们需要为sqlite3安装一个pcre软件包。我们在这里如何
apt-get install sqlite3-pcre
sqlite3 test.db
.load /usr/lib/sqlite3/pcre.so
SELECT url FROM table_name where url REGEXP '^google.*';
遵循这3个步骤后,我的工作正常。 如果对此有误,请纠正我。 我希望它会对你有所帮助
谢谢
答案 1 :(得分:6)
你无法使用它。
首先,根据documentation:
,您需要一个实现它的函数REGEXP运算符是regexp()用户函数的特殊语法。默认情况下没有定义regexp()用户函数,因此使用REGEXP运算符通常会导致错误消息。如果在运行时添加了名为“regexp”的应用程序定义的SQL函数,则“X REGEXP Y”运算符将实现为对“regexp(Y,X)”的调用。
无法在Android SQLite中安装用户定义的函数。
考虑是否可以将您的正则表达式编写为GLOB
或LIKE
模式。