mySQL 查詢指定日期時間內sql語句實現原理與代碼

來源:互聯網
上載者:User

在資料庫教程設計時必須注意時間欄位為int(11)這樣,儲存在資料庫的是一個數字型日期時間戳記,我們可以用mktime函數求出當前日期的時間戳記進行加減就OK了,下面看執行個體
//一個月 複製代碼 代碼如下:$lastMonth = mktime(date(‘h'),date(‘i'),date(‘s'),date(‘m')-1,date(‘d'),date(‘y'));
$where .= ” dtime > $lastMonth”;

//三個月 複製代碼 代碼如下:$lastThreeMonth = mktime(date(‘h'),date(‘i'),date(‘s'),date(‘m')-3,date(‘d'),date(‘y'));
$where .= ” dtime > $lastThreeMonth”;

$sql = “select * from testtable ” .$where
/*
原理是:
如果是月份就是當前的月減去你要統計的時間如我要查詢資料庫中從今天起往前三個月的所有記錄,我們的語句如下:mktime(date(‘h'),date(‘i'),date(‘s'),date(‘m')-3,date(‘d'),date(‘y'));
七天內的:mktime(date(‘h'),date(‘i'),date(‘s'),date(‘m'),date(‘d')-7,date(‘y'));
一小時間內的:mktime(date(‘h')-1,date(‘i'),date(‘s'),date(‘m'),date(‘d'),date(‘y'));
上個月第一天:mktime(0,0,0,date(‘m')-1,01,date(‘Y'));
上個月最後一天:mktime(0,0,0,date(‘m'),0,date(‘y'));
本月第一天:這個簡單,也就是01了;
本月最後一天:這要用到date函數了,date函數有一個參數t,它就是用來求最後一天的;如:date(‘t')
其它的做法是一樣的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.