我定义了2个函数:
sqlite3_create_function( m_db.db(), "regexp", 2, SQLITE_UTF8, NULL, mysqlite_regexp, NULL, NULL );
sqlite3_create_function( m_db.db(), "regexp2", 2, SQLITE_UTF8, NULL, mysqlite_regexp2, NULL, NULL ) ;
如果我查询SELECT Images.ImageID FROM Images WHERE Images.Filename REGEXP \"truc\"
这样的查询,只有REGEXP可以使用。
使用REGEXP2我有错误,“靠近REGEXP2:语法错误”
为什么?
答案 0 :(得分:2)
REGEXP operator定义为重定向到regexp
用户功能。
除GLOB
以外,没有其他运算符以这种方式定义。
如果要调用其他函数,则必须将它们称为函数:
SELECT ImageID FROM Images WHERE regexp('truc', Filename);
SELECT ImageID FROM Images WHERE regexp2('truc', Filename);