Topic: Дата и Время в SQL запросе

Необходимо выполнить следующий SQL (MySql) запрос

select
TIME_TO_SEC(TIMEDIFF( table.begin, {end})) as duration,

from table

где
{end} переменная , вводимая в date and time picker

как в одном названии {end} совместить и дату , и время?

Re: Дата и Время в SQL запросе

Пожалуйста скачайте последнюю бета версию
http://myvisualdatabase.com/forum/viewtopic.php?id=2736


пришлось доработать, чтобы можно было в SQL запрос вставлять время с датой.


В SQL запрос вставляется имя компонента DateTimePicker, который показывает время, также у данного компонента должено быть определено свойство Calendar


Более подробней об этом свойстве можно прочитать здесь
http://myvisualdatabase.com/help_ru/com … icker.html

Dmitry.

Re: Дата и Время в SQL запросе

Версия 1.44 , как в этой версии обновить или вставить данные из DateTimePicker?
update period set timename={DateTimePicker1};
insert into period (timename) values ({DateTimePicker1});
дату сохраняет в виде  30.12.1899, время правильно.
Ведь кнопкой "сохранить" по  DateTimePicker1  правильно сохраняет и время и дату из DateTimePicker1(время) и DateTimePicker2(дата).

4 (edited by legerman 2017-03-17 23:59:58)

Re: Дата и Время в SQL запросе

Как хотя бы прописать  действие кнопки "сохранить запись"  из DateTimePicker1 (время), связанную с DateTimePicker2 (дата)в скрипте? Или как прописать в скрипте на действие кнопки , чтоб запускалась другая кнопка? Очень надо для выборки в отчете не только по дням, но и по дням с часами и минутами. Отдельно кнопками все работает, а как это вписать в 1 кнопку не знаю. Поясню еще немного: 1 кнопка у меня сохраняет дату с временем в таблицу, 2 формирует отчет, сравнивая время с датой из другой таблицы.

Re: Дата и Время в SQL запросе

legerman
Пожалуйста приложите ваш проект (zip файл без exe и dll), и опишите проблему, что именно не работает и где в проекте.

Dmitry.

Re: Дата и Время в SQL запросе

Форма : frmReports (заход через "отчеты").
На форме есть 3 кнопки с запросами по выборке заявок: 1. по дате окончания(период_окончания ) , 2. по дате изменения(период_изменения). 3. по дате изменения с записью в таблицу значений из DateTimePicker ов на форме(Button8).

Сначала я на форме установил 2 DateTimePicker (с - по),по дате, все работало (кнопки период_окончания и период_изменения), хотя у меня выставлено  с >= по <= , равно не срабатывает почему-то, работает как >= и <.
Затем я добавил еще 2 DateTimePicker по времени, чтоб искать еще и по времени, связал как в справке написано, искать перестало.
Дальше я решил записывать данные из DateTimePicker в созданную таблицу period кнопкой "сохранить", причем сохраняя данные по 2 DateTimePicker( по времени) в таблицу также сохраняются и даты. И поиск по кнопке "Button8" стал работать. Т.е. нажимаю кнопку сохранить и дальше нажимаю кнопку Button8 поиска.
Работу кнопки сохранить я хотел прописать в скрипте кнопки Button8, но не знаю как. Лучше конечно мне не сохранять а обновлять данные в таблице period, чтоб там была всегда 1 строка.
Сделал запрос на обновление и сохранение в кнопках "обновить" и "запись" но они сохраняют только время, а дату вот такую: 30.12.1899. Ваша кнопка сохранить сохраняет все правильно.
Проект

Re: Дата и Время в SQL запросе

legerman
К сожалению ваш вопрос больше похож на рассказ )


Пожалуйста сформулируйте вопрос более конкретно.

Dmitry.

8 (edited by legerman 2017-03-21 13:05:14)

Re: Дата и Время в SQL запросе

1. Не работает поиск по дате на форме frmReports кнопкой период_окончания и период_изменения.
(я так понимаю это не реализовано в этой версии)
2. Как в событии на OnClick кнопки "Button8" прописать обновление данных таблицы period по DateTimePicker на форме frmReports ( чтобы и время и правильная дата была).

Re: Дата и Время в SQL запросе

1. К сожалению поиск по полю Дата/Время с использованием SQL запроса не был реализован в старой версии.


2. Это можно сделать скриптом, пример

procedure frmReports_сохранить_OnClick (Sender: string; var Cancel: boolean);
begin
    SQLExecute('insert or replace into period (id, timefrom, timeto) VALUES (1, "'+ FormatDateTime('yyyy-MM-DD hh:nn:ss.000', frac(frmReports.dtFrom.datetime)+trunc(frmReports.tFrom.datetime) ) +'", "'+FormatDateTime('yyyy-MM-DD hh:nn:ss.000', frac(frmReports.dtTo.datetime) + trunc(frmReports.tTo.datetime))+'")');
    frmReports.TableGrid2.dbUpdate;
end;

только уберите действие "Сохранить запись" для кнопки "сохранить"

Dmitry.

Re: Дата и Время в SQL запросе

Спасибо, работает!