2014-08-28 2 views
0

У меня есть MySQL таблицы с полем временной метки, которая записывает DATETIME таким образом: CURRENT_TIMESTAMPMySQL временной метки, где положение фильтровать сегодня записи в PHP

Я просто хочу запрос, чтобы ограничить все записи сегодня,

SELECT (*) FROM mytable WHERE stampfield = CURDUTE() 

Я пробовал CURDATE(), но не работал!

У меня есть другая дата поля в таблице, и CURDATE() отлично работает, но с этим полем времени это не работает!

спасибо продвинутых

+0

Поскольку метки времени и даты не совпадают FieldType. – Daan

ответ

1

временной метки полей включает значение времени, очевидно. curdate() не делает. Поскольку вы делаете date+time v.s. date, PHP автоматически расширит ваше значение даты до 0 раз, например.

curdate() = '2014-08-28' 
timestamp = '2014-08-28 12:34:45' 

timestamp = curdate() -> '2014-08-28 00:00:00' = '2014-08-28 12:34:45' - > false 

попробовать

date(timestampfield) = curdate(); 

вместо этого.

+0

благодарит Марка за информацию, она работает :) – MikeDerik

0

Вы должны извлечь часть даты из метки времени, один из способов будет использовать DATE:

SELECT (*) 
FROM mytable 
WHERE DATE(stampfield) = CURDATE() 
Смежные вопросы