|
SQLite like русских букв
|
|||
---|---|---|---|
#18+
Искал решение проблемы русских, а точнее не английских символов, при поиске с использованием LIKE, и нашел только такое решение для VB.NET - Переопределение функции upper или lower. Причем этим подходом можно решить и другие проблемы, например отсутствие полезной функции NOW() в запросах. Вот пример кода: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
там же можно скачать и исходники ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2011, 11:11 |
|
SQLite like русских букв
|
|||
---|---|---|---|
#18+
ujinsw, Не стоило бы публиковать на форуме ссылку на статью, автор коей даже не удосужился открыть документацию - кто-то ведь может поверить написанному. Итак, текущая дата и время вместо now() извлекается так: Код: plaintext 1. 2. 3. 4. 5.
Если "стандартный" формат устраивает, то достаточно функции datetime(), а для вывода в произвольном формате используется strftime(). Что же касается юникодного регистро-независимого поиска, все подробно разобрано выше в этой теме. Разве что, могу рассказать для интересующихся - причина, по которой таблицы сравнения символов не добавлены в эскулайт, весьма проста - размер таблиц символов превышает размер самого эскулайт, так что это просто нецелесообразно, а вместо этого рекомендуется использовать одно из расширений (ICU, например) или биндить функции сравнения ОС (вот с этим стоит быть поосторожнее - юникод не так прост, и можно словить баги с отсутствием нормализации, в частности). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2011, 21:05 |
|
SQLite like русских букв
|
|||
---|---|---|---|
#18+
MBGujinsw, Не стоило бы публиковать на форуме ссылку на статью, автор коей даже не удосужился открыть документацию - кто-то ведь может поверить написанному. Итак, текущая дата и время вместо now() извлекается так: Код: plaintext 1. 2. 3. 4. 5.
MBG, забыли уточнить, что: Код: plaintext 1. 2. 3.
это текущая дата и время в формате UTC (Universal Time Coordinated), которое отличается от текущей даты и времени на компьютере. Для получения текущей или локальной дата и времени нужно в запрос добавить 'localtime': Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2011, 23:44 |
|
SQLite like русских букв
|
|||
---|---|---|---|
#18+
Столкнулся с подобной задачей. Проект в Delphi 2010, использую SQLite и SQLiteWrapper. Все прекрасно выводится, при выводе из таблиц перевожу строку: Код: plaintext
Вот такой запрос у меня ищет цифры и английские буквы: Код: plaintext 1.
При поиски перевожу строку к нижнему регистру, делал как в этой ветке: Код: plaintext
Подскажите, как сделать русский поиск. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 14:45 |
|
SQLite like русских букв
|
|||
---|---|---|---|
#18+
Благодаря помощи Dmitry Arefiev все решилось очень просто. В моем случае была ошибка, я делал так: Код: plaintext 1.
надо было Код: plaintext
Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2011, 18:02 |
|
SQLite like русских букв
|
|||
---|---|---|---|
#18+
MBG, занятно ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2011, 17:29 |
|
SQLite like русских букв
|
|||
---|---|---|---|
#18+
Solo7 Вот код, подкоректированный Dmitry Arefiev, который у меня заработал: Код: plaintext 1. 2. 3. 4. 5.
У вас лайк по id (я подозреваю, что это целоцисленные значения). Когда придумают строчные и прописные цифры, придётся переписывать :) вот тут я описал, видимо, работающий солюшен http://www.sql.ru/forum/actualthread.aspx?tid=891589 (сам не осилил) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 15:17 |
|
|
start [/forum/topic.php?fid=54&gotonew=1&tid=2009092]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
11ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 267ms |
total: | 407ms |
0 / 0 |