|
|
|
| Есть поле в таблице БД, которое содержит значение даты и времени. А нужно выьрать строки только те, в которых в значении поля даты есть сегодняшняя дата, но не время. Как это можно сделать? | |
|
|
|
|
|
|
|
для: nickson
(08.11.2006 в 00:26)
| | Попробуйте вот это, как вариант:
select * from table where DATE_FORMAT(date_row,'%Y-%m-%d')=CURDATE();
|
date_row - поле типа DATETIME в Вашей таблице. | |
|
|
|
|
|
|
|
для: sd607
(08.11.2006 в 01:48)
| | А если, допустим, нужно вывести все элементы за последнюю неделю или месяц? | |
|
|
|
|
|
|
|
для: nickson
(08.11.2006 в 12:16)
| | За последний месяц можно выбрать даты следующим образом
SELECT * FROM tbl
WHERE YEAR(date_row) = YEAR(NOW()) AND MONTH(date_row) = MONTH(date_row);
|
Неделя с какого дня начинается? И какая версия MySQL вам доступна? | |
|
|
|
|
|
|
|
для: cheops
(08.11.2006 в 12:50)
| | Неделя начинается с понедельника, а версия 4 | |
|
|
|
|
|
|
|
для: nickson
(08.11.2006 в 13:03)
| | Так, как тогда за неделю вывести? | |
|
|
|
|
|
|
|
для: nickson
(08.11.2006 в 19:39)
| | Тогда разумнее воспользоваться решением sd607
select * from table where DATE_FORMAT(date_row,'%Y-%u')=DATE_FORMAT(NOW(),'%Y-%u');
|
| |
|
|
|
|
|
|
|
для: nickson
(08.11.2006 в 00:26)
| | Можно также воспользоваться запросом
SELECT * FROM tbl WHERE DATE(date_row)=DATE(NOW());
|
| |
|
|
|
|
|
|
|
для: cheops
(08.11.2006 в 12:47)
| | а если нужно старше одно дня? | |
|
|
|
|
|
|
|
для: d-111
(08.11.2006 в 14:21)
| | Мало информации о том, что хотите сделать... Что требуется? | |
|
|
|