|
|
|
| Есть столбец Date_time, в который я заносил дату с временем через Now()
Как мне извлечь строки за последний день работы?
Пока есть возможность изменить способ заполнения или формат хранения с датой.
Если нужно что-то поменять, то что нужно поменять и как должен выглдеть запрос на текущий день?
Заранее спасибо.
Хотел написать так поиск:
SELECT SP,Код,Name,Rate,Quantity,Date_time FROM SP WHERE Date_time=NOW()
|
но так не получится т.к. в столбце стоит полный формат даты | |
|
|
|
|
|
|
|
для: Slyfox
(23.04.2008 в 07:48)
| | NOW как раз и есть полный формат даты | |
|
|
|
|
|
|
|
для: ronin80
(23.04.2008 в 07:51)
| | Я как бы про Now() знаю, но как мне извлекать строки за последний день работы?
Может есть стандартная функция в SQL-запросах, которая позволит работать с датой в определенном диапазоне времени? | |
|
|
|
|
|
|
|
для: Slyfox
(23.04.2008 в 07:55)
| | так за последний день всё таки или за период?
или под диапазоном времени подразумеваются определённые часы? | |
|
|
|
|
|
|
|
для: ronin80
(23.04.2008 в 08:26)
| | часы
Определенные часы рассматриваемые в течении текущего дня.
Часы фиксированны для выборки постоянно с 8:30 до 21:00
Но выполнятся все равно будет один раз в день, так что можно сказать и день | |
|
|
|
|
|
|
|
для: Slyfox
(23.04.2008 в 07:48)
| | Нагуглил запрос вида:
SELECT .... WHERE [Дата]<#00/00/0000# AND [Дата]>#00/00/0000#
|
По ходу можно пристроить вместо [Дата] Now()
Покажите как задать для такого примера вместо #00/00/0000# под мой случай полный формат даты?
Буду колдовать, может чего наколдую
Я так понял, что тут разделяются всегда числа знаком "/" | |
|
|
|
|
|
|
|
для: Slyfox
(23.04.2008 в 08:49)
| | можно попробовать так
SELECT SP,Код,Name,Rate,Quantity,Date_time FROM SP
WHERE TIME(Date_time) BETWEEN time1 and time2
функция time извлекает время суток, соответственно проводим сравнение с указанными переменными time1 и time2 | |
|
|
|
|
|
|
|
для: ronin80
(23.04.2008 в 08:59)
| | Не совсем то, т.к. в таблице SP дата хранится не только за текущий день, но и за прошлые дни.
Но мне так и не удалось выполнить запрос вида
не работает он
SELECT Код,FIO,Number_pas,Name,Rate,Quantity,Date_time FROM SP WHERE TIME(Date_time) BETWEEN #08-30# AND #10-59#
|
потом проверил самым простым запросом:
SELECT Код,FIO,Number_pas,Name,Rate,Quantity,Date_time FROM SP
|
тут все выводит, но мне не это нужно | |
|
|
|
|
|
|
|
для: Slyfox
(23.04.2008 в 10:04)
| | SELECT SP,Код,Name,Rate,Quantity,Date_time FROM SP
WHERE TIME(Date_time) BETWEEN time1 and time2
and Date_time=сравниваемая _дата | |
|
|
|
|
|
|
|
для: ronin80
(23.04.2008 в 10:06)
| | Дело не в этом, а в том, что у меня уже выдает ошибку без проверки на дату, только с проверкой на время. | |
|
|
|
|
|
|
|
для: Slyfox
(23.04.2008 в 10:14)
| | покажи чё пишет | |
|
|
|
|
|
|
|
для: ronin80
(23.04.2008 в 10:19)
| | Вот, правда это не PHP.
Рисунок прикрепил | |
|
|
|
|
|
|
|
для: Slyfox
(23.04.2008 в 10:27)
| | а в чём приложение написано? | |
|
|
|
|
автор: Slyfox_забыл_пароль (23.04.2008 в 16:58) |
|
|
для: ronin80
(23.04.2008 в 12:08)
| | Delphi 7 | |
|
|
|
|
|
|
|
для: Slyfox_забыл_пароль
(23.04.2008 в 16:58)
| | а такой запрос не работает?
SELECT SP,Код,Name,Rate,Quantity,Date_time FROM SP
WHERE TIME(Date_time) BETWEEN :time1 and :time2
где time1 и time2 параметры запроса в формате времени hh:mm:ss | |
|
|
|