Выборка записей "за вчера".

Запрос примечателен тем, что для работы со временем используется локальное время на сервере базы данных. Это исключает вероятность выборки неверных данных, в случае если сервер где находится сайт, имеет другое время или часовой пояс, чем сервер с базой данных.

SELECT * FROM `table` WHERE 
(
	(
		UNIX_TIMESTAMP(created)
		>
		(
			UNIX_TIMESTAMP(
				STR_TO_DATE(
					CONCAT(
						YEAR(
							NOW()
						), 
						'-', 
						MONTH(
							NOW()
						), 
						'-', 
						DAY(NOW()), 
						' 00:00:00'
					), 
					'%Y-%m-%d %H:%i:%s'
				)
			) - (24 * 60 * 60)
		)
	)
	AND
	(	
		UNIX_TIMESTAMP(created)
		<
		(
			UNIX_TIMESTAMP(
				STR_TO_DATE(
					CONCAT(
						YEAR(
							NOW()
						), 
						'-', 
						MONTH(
							NOW()
						), 
						'-', 
						DAY(NOW()), 
						' 00:00:00'
					), 
					'%Y-%m-%d %H:%i:%s'
				)
			)
		)
	)		
);

 

Добавление комментария

Имя*:
E-mail*:
Личный сайт:
Текст комментария*:
Проверочный код*: