powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Как получить дату в запросе
10 сообщений из 10, страница 1 из 1
Как получить дату в запросе
    #36404564
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется БД, в которой в поле f_date типа double хранится дата. База заполнялась из под делфийской программы, где в это поле писалось значение типа TDateTime. Теперь встала задача выбрать все записи, в которых f_date < '01.01.2010'. Т.е. типа так:
Код: plaintext
SELECT * FROM table WHERE f_date<'01.01.2010'
Понятно, что так не сработает, но как преобразовать в запросе строку даты в тип double?
...
Рейтинг: 0 / 0
Как получить дату в запросе
    #36404666
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или преобразовать f_date в строку средствами SQL, как?
Гуру, ну помогите ньюбу в SQLite, плиз!
...
Рейтинг: 0 / 0
Как получить дату в запросе
    #36405038
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зависит от компонентов доступа - как дата сохранялась в поле.
Варианты - в виде строки, юлиановская дата в виде числа с плавающей запятой.
Определи что там, тогда можно будет сказать, как с этой датой работать.
...
Рейтинг: 0 / 0
Как получить дату в запросе
    #36405094
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dmitry Arefiev,

Даты хранятся в поле f_date в виде 39399.4588194444, т.е. типа TDateTime в Delphi (double, float).
...
Рейтинг: 0 / 0
Как получить дату в запросе
    #36405149
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLite про TDateTime не в курсе. Можно конечно написать собственные функции для
работы с TDateTime в SQLite, но есть ли смысл ...

Используй параметры и присваивай '01.01.2010' параметру в виде TDateTime значения.
...
Рейтинг: 0 / 0
Как получить дату в запросе
    #36405172
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dmitry Arefiev,

Программно желаемое не сложно сделать, но проблема в том, как написать (и выполнить) такой запрос, используя любой менеджер БД SQLite (типа Sqliteman/SQLite Expert Professional/ и т.п.)?
Неужели никак нельзя?
...
Рейтинг: 0 / 0
Как получить дату в запросе
    #36405613
LiYing,
смотрите тут все функции что есть http://www.sqlite.org/lang_datefunc.html для работы с временем
...
Рейтинг: 0 / 0
Как получить дату в запросе
    #36405692
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Максим-ИвановLiYing,
смотрите тут все функции что есть http://www.sqlite.org/lang_datefunc.html для работы с временем
Там я смотрел в первую очередь, к сожалению, ничего подходящего не нашел :(
...
Рейтинг: 0 / 0
Как получить дату в запросе
    #36405972
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда пишешь свое расширение с функцией типа
Код: plaintext
double string_date_to_double(char *)
и/или обратной ей и подгружаешь через [sqlite3_]load_extension()
...
Рейтинг: 0 / 0
Как получить дату в запросе
    #36406207
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скорее delphidate_to_jdate или delphidate_to_str :)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Как получить дату в запросе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]