2013-07-25 6 views
0

Вот объяснение того, как моя таблица создана (в sqlfiddle) http://sqlfiddle.com/#!2/86a54d/2Как преобразовать столбец datetime mysql в дату?

В принципе, у меня есть две колонки. Один из них - varchar и содержит имя. Другой - дата-время и содержит определенную дату со временем.

Я хочу выбрать строки, в которых дата в дате совпадает с сегодняшней датой. Я пытался что-то вроде ...

select * from alerts_to_send where date_to_send = now() 
select * from alerts_to_send where date_to_send = curdate() 

Я не точно, куда идти отсюда ... Любые идеи, было бы весьма признателен :)

Просто повторно уточнить, я хочу, чтобы выбрать строки, в которых сегодняшняя дата соответствует дате в столбце типа даты и времени.

ответ

1

попробовать этот

select * from alerts_to_send 
    where DATE_FORMAT(date_to_send,'%m-%d-%Y') = DATE_FORMAT(now(),'%m-%d-%Y') 

fiddle

+0

Ты потрясающий! :) Большое спасибо @echo_Me – Feign

+0

Под этим я подразумеваю, что он отлично работал btw ... Я буду отмечать как ответ, когда соблюдается минимальный срок! – Feign

+0

вы приветствуете :). –

0

Альтернативой date_format FUNC Тион вы можете преобразовать DateTime на сегодняшний день:

select * from alerts_to_send where cast(date_to_send as date) = curdate() 
0

Это может быть еще короче:

select * from alerts_to_send where date(date_to_send) = date(now())

Но вы будете иметь проблемы с использованием индекса на него, так что лучше будет:

select * from alerts_to_send where date_to_send >= date(now()) and date_to_send < date(now()) + INTERVAL 1 DAY

Смежные вопросы