| |
|
|
| | Есть столбец 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 | |
| |
|
|