iT邦幫忙

0

請問在MySQL如何取得前一天的記錄?

如有一個欄位是add_date, type是datetime,要如何下sql command取得前一天的記錄?

魯大 iT邦高手 1 級 ‧ 2008-06-09 11:23:09 檢舉
懂得sql語法的人應該都不難吧..
而且每一本書上一定會有介紹..
書到用時方恨少啊..
fillano iT邦超人 1 級 ‧ 2008-06-10 10:18:22 檢舉
沒錯.....

不過這樣問也還算好的,最近在javaworld@tw看到幾個大剌剌問作業文的,還不是普通的白目.....期末了吧
fillano iT邦超人 1 級 ‧ 2008-06-19 07:46:44 檢舉
使用函數要小心,看你的資料量而定。因為用了函數查詢模式就變成"ALL",遍歷整個資料表。如果你的datetime欄位是索引的話,乖乖用between可以加快速度。

不過一般來說mysql的應用資料量沒那麼大,例如我用函數+group by做十幾萬筆的統計通常頂多也花個0.2秒而已。所以應該也還好。

1 個回答

20
fillano
iT邦超人 1 級 ‧ 2008-06-07 11:57:02
最佳解答

mysql 的datetime 支援幾種日期時間的字串格式來做插入或查詢。如果只給日期,時間就會自動設定成zero,可以不用指定。

所以想要取前一天的資料,以今天是2008年6月7日,想要找前一天為例,where條件可以下:

<pre class="c" name="code">WHERE `欄位` >= '2008-06-06' AND `欄位` < '2008-06-07'

如果用BETWEEN運算子的話,因為比較條件都包含等於,所以要下:

<pre class="c" name="code">WHERE `欄位` BETWEEN '2008-06-06' AND '2008-06-06 23:59:59'

我要發表回答

立即登入回答