2008-11-06 37 views
46

我需要在Mysql中進行日期比較,而不考慮時間分量,即我需要將'2008-11-05 14:30:00'轉換爲'2008-11-05'來自datetime的Mysql strip time組件

目前,我這樣做:

SELECT from_days(to_days(my_date)) 

是否有這樣做的正確方法?

回答

89

是,使用date功能:

SELECT date(my_date) 
3

在PostgreSQL使用TRUNC()函數,但我沒有看到它爲MySQL。從我簡短的谷歌搜索中,看起來您需要將您的DATETIME值轉換爲DATE。

date_col = CAST(NOW() AS DATE) 

http://dev.mysql.com/doc/refman/5.0/en/date-and-time-types.html

+1

`date_trunc ()`(而不是`trunc()`)實際上不會刪除Postgres中的時間部分。它只會將其設置爲「00:00:00」,這是不同的。 – 2013-05-06 21:01:30

3

select date(somedate)是最常見的。

如果您需要適應其他格式,你可以使用:

SELECT DATE_FORMAT('2009-10-04 22:23:00', '%Y-%m-%d'); 
+1

DATE_FORMAT僅用於提取年份組件,例如。謝謝。 – 2012-09-20 09:21:47

-3

你可以使用ToShortDateString();

+0

這不是一個C#函數嗎?問題在於MySQL解決方案 – andrewsi 2012-09-25 21:12:02

1

date("d F Y",strtotime($row['date']))的只是一個簡單的方法,其中$row['date']來自查詢