Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26113
Рейтинг: 2126
#1006: 2012-10-02 16:45:39 ЛС | профиль | цитата
Ну, у меня в одной колонке Period=INTEGER, а в другой Next=INTEGER. Обычная сумма плюс корректор выдаст нормальную следующую дату
------------ Дoбавленo в 16.44:
Да, напомни, если несложно, как правильно работать с LIKE и русскими символами без доп компонентов, чисто из запроса. Обязательно ли нужно конвертить базу в UTF-8
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#1007: 2012-10-02 16:50:38 ЛС | профиль | цитата
Period в днях или в годах ?
Next - в каких единицах ?
nesco писал(а):
Обычная сумма плюс корректор выдаст нормальную следующую дату ?
В принципе - да.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#1008: 2012-10-02 16:57:21 ЛС | профиль | цитата
Tad писал(а):
Period в днях или в годах ?

В днях
Tad писал(а):
Next - в каких единицах ?

INTEGER, наша обрезанная дата, правда, там нужен Previouse предыдущее поле
Tad писал(а):
В принципе - да

Вроде сожрало обычную сумму, но точно ли отсчитало, ХЗ, считать надо.

Вот этот кусок

strftime("%d-%m-%Y", date(Previouse + Period + 1721424.5))
Это тренировочный вариант, в Next будет записана потом откорректированная вручную дата
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#1009: 2012-10-02 16:59:33 ЛС | профиль | цитата
nesco писал(а):
конвертить базу в UTF-8
Лучше в UTF-8. Тогда и колонки можно по русски назвать и LIKE вроде нормально работает. (на иврите - точно.)
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#1010: 2012-10-02 17:02:43 ЛС | профиль | цитата
Tad писал(а):
Лучше в UTF-8

А с pragma что-то мудрить надо, или по дефолту покатит
------------ Дoбавленo в 17.01:
Tad писал(а):
Тогда и колонки можно ао русски назвать

Нафиг, лучше на оригинале, привычнее
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#1011: 2012-10-02 17:09:22 ЛС | профиль | цитата
Использую для создания БД SQLite Expert Personal 3
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#1012: 2012-10-03 16:04:39 ЛС | профиль | цитата
Tad писал(а):
Использую для создания БД SQLite Expert Personal 3

А я по-деревенски -- Sqliteadmin. Правда, у него есть недокументированные глюки, но мне удалось их обойти. К примеру, при создании целочисленного поля, он категорически отказывался в него что-то писать до полного перезапуска базы
------------ Дoбавленo в 10.07:
Tad, при базе в UTF-8, LIKE надо задавать тоже в UTF-8, или достаточно писать на языке своей локации
------------ Дoбавленo в 16.03:
Интересно, а как сделать регистронезависимый LIKE для UTF-8, у меня не получилось
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#1013: 2012-10-03 19:37:43 ЛС | профиль | цитата
nesco писал(а):
при базе в UTF-8, LIKE надо задавать тоже в UTF-8
Я все свои SELECT-ы прогоняю, перед подачей на SQLite_Query (DSC_Query), через CharSet.
nesco писал(а):
сделать регистронезависимый LIKE для UTF-8, у меня не получилось
не пробовал.
А PRAGMA case_sensitive_like = boolean;
Не помогает?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Гость
Ответов: 17029
Рейтинг: 0
#1014: 2012-10-03 21:15:23 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2021-05-21 12:28:13
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#1015: 2012-10-03 23:04:43 ЛС | профиль | цитата
37.45.101.18, лично !
code_29229.txt
Можно ВСЁ.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_29229.txt [2.5KB] [269]
Разработчик
Ответов: 26113
Рейтинг: 2126
#1016: 2012-10-03 23:13:52 ЛС | профиль | цитата
Tad писал(а):
А PRAGMA case_sensitive_like = boolean;
Не помогает?

Нет, она помогает только на ASCII (к тому же, по дефолту она выключена), а UTF-8 другого регистра отличается от смещений ASCII
------------ Дoбавленo в 23.13:
Tad писал(а):
Я все свои SELECT-ы прогоняю, перед подачей на SQLite_Query (DSC_Query), через CharSet

Вот и мне пришлось точно так и сделать, добило только, что нельзя осуществить поиск на любом регистре, приходится писать, соблюдаяя регистр
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#1017: 2012-10-04 01:24:20 ЛС | профиль | цитата
nesco, кстати о птичках:
Like можно задавать и так.
Select * from Инфо Where like('%мир', Имя); (Результат Владимир)
nesco,я не знаю, что ты творишь, но приводи к общему знаменателю перед записью в БД. Что за проблемы с регистром ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#1018: 2012-10-04 02:17:50 ЛС | профиль | цитата
Tad писал(а):
но приводи к общему знаменателю перед записью в БД

Ну и нахрен мне в базе улицы на кириллице все с маленькой или с большой буквы.
Tad писал(а):
Что за проблемы с регистром ?

А то, что LIKE не ищет у меня в UTF базе без учета регистра. Например -- записано Просвещение пытаюсь найти %просв% (естественно, переведя в UTF-8) -- фиг, пока не поставлю %Просв%, тогда находит.
Tad писал(а):
можно задавать и так

Такой запрос напрямую у меня не работает, только после перевода в UTF-8

Я так понял, что LIKE расчитан на поиск только в АSCII, после переаода в UTF-8, кириллица становится двухсимвольным ASCII, смею предположить, что регистронезависимого поиска, в таком случае, добиться будет нельзя
карма: 22

0
Ответов: 5446
Рейтинг: 323
#1019: 2012-10-04 09:32:13 ЛС | профиль | цитата
nesco, тут говорят,
что в общем случае (для произвольных UTF-8 строк) задача регистронезависимого сравнения не решаема. Для частного случая (кирилица плюс латиница) написать свою функцию сравнения. И вроде где-то на форуме выкладывался obj с такой функцией.
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#1020: 2012-10-04 09:45:25 ЛС | профиль | цитата
nesco писал(а):
Ну и нахрен мне в базе улицы на кириллице все с маленькой или с большой буквы.
Забываем про существование StrCase.FirstChar. Пример подготовки данных перед записью в БД
http://forum.d2h.ru/forum.html?q=3&p=161892#p161892. То же делаем и перед поиском.
Умный человек придумал ивритское письмо - одни большие буквы и никаких маленьких.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)