Что нового

SQLite запрос с RegExp

IgRo

Знающий
Сообщения
65
Репутация
5
http://www.sqlite.org/lang_expr.html
Как использовать RegExp в SQLite запросе?
Код:
#include <SQLite.au3>
Local $aResult, $iRows, $iColumns, $iRval
_SQLite_Startup()
_SQLite_Open()
_SQLite_Exec(-1, 'CREATE TABLE IF NOT EXISTS tb(field_1, field_2);')
_SQLite_Exec(-1, 'INSERT INTO tb VALUES ("aaa", "111");')
_SQLite_Exec(-1, 'INSERT INTO tb VALUES ("bbb", "222");')
$sQuery="SELECT * FROM tb WHERE field_1 REGEXP 'a*';"
_SQLite_GetTable2d (-1, $sQuery, $aResult, $iRows, $iColumns)
$a = _SQLite_Display2DResult($aResult, 10, 0)
_SQLite_Shutdown()

выдает ошибку
Код:
!   SQLite.au3 Error
--> Function: _SQLite_Query
--> Query:    SELECT * FROM tb WHERE field_1 REGEXP 'a*';
--> Error:    no such function: REGEXP
Из Хабра http://habrahabr.ru/post/57915/
ICU экстеншн для SQLite [...] добавляет реализацию оператора REGEXP
Получается нужен SQLite.dll с поддержкой ICU
После гугления решение нашлось :smile:
https://sites.google.com/site/alexbootch/optimal_sqlite3_7_2.rar
копируем sqlite3.dll, icudt38.dll, icuin38.dll, icuuc38.dll, mingwm10.dll в папку со скриптом
REGEXP, FTS3/FTS4 MATCH(полнотекстовый поиск и сортировка с учетом особенностей языка), работают!!!
 
Верх