2013-07-25 72 views
0

這裏是我的表是如何設置的解釋(在sqlfiddle) http://sqlfiddle.com/#!2/86a54d/2如何將mysql datetime列轉換爲日期?

基本上,我有兩列。一個是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

通過我的意思是,它完美的順便說一句......我會標記爲滿足最小時間限制的答案! – Feign

+0

歡迎您:)。 –

0

的替代DATE_FORMAT FUNC和灰您可以將日期時間轉換爲日期:

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