Страница 1 из 1

Как определить свою функцию для SQLite в Lazaruse

СообщениеДобавлено: 10.09.2013 14:48:06
Putnick
Добрый день.
Суть проблемы:
Делаю запрос вида
Код: Выделить всё
SELECT * FROM Table WHERE LOWER(field1)=<введенная мною строка, преобразованная к нижнему регистру>

если моя строка на английском - всё отлично: выберется и "Value" и "VAlUE" и т.д.
а вот, если строка на русском - извините: "значение" - да, а вот "ЗНАЧЕНИЕ" - уже нет.
Как я понял, sqlite LOWER не работает с UTF8, и нужно её переопределять.

Собственно вопрос, как это сделать? Особенно с учётом того, что в программе уже есть куча Query, Transaction, Connection.
Заранее благодарю за советы.

Re: Как определить свою функцию для SQLite в Lazaruse

СообщениеДобавлено: 10.09.2013 21:14:01
Padre_Mortius
Putnick, а в какой кодировке у вас хранятся данные в базе?

Re: Как определить свою функцию для SQLite в Lazaruse

СообщениеДобавлено: 10.09.2013 21:51:35
Putnick
Padre_Mortius писал(а):Putnick, а в какой кодировке у вас хранятся данные в базе?
UTF-8.
Сейчас использую "костыль": считываю все данные без без условий, а потом в цикле выбираю нужные мне. Поскольку пока БД мелкая - оно, вроде, и ничего. С ужасом думаю о будущем :D .