程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql日期查詢sql語句總結(查詢一天,查詢一周,查詢一個月的數據)

mysql日期查詢sql語句總結(查詢一天,查詢一周,查詢一個月的數據)

編輯:MySQL綜合教程

今天我要做一個程序可以實現查詢一天,查詢一周,查詢一個月的數據功能,下面我把這些實現的sql日期查詢語句給大家總結分享一下。


我的日期


首先我們獲取到的日期格式是這樣的:2009-2-12或者2009-3-3或者2009-10-12,我們在組合sql語句的時候可以這樣:(分了三個例子)

 代碼如下 復制代碼 @1select * from user where birthday>'2009-2-3' and birthday<'2009-4-3'

這樣我們能夠查到所有包括2009-2-3並且大於2009-2-3的所有的用戶信息。

@2如果我們是這樣組合的

 代碼如下 復制代碼 select * from user where birthday>'2009-2-3'

那麼我們就會查到等於2009-2-3並且和大於2009-2-3號的所有信息。

@3如果我們是這樣的組合

 代碼如下 復制代碼 select * from user where birthday<'2009-2-3'

那麼我們會查詢到包括2009-2-3並且小於2009-2-3的所有用戶信息。

這裡可能是mysql自己的一個實現機制,不用寫=號,=號也包含在我們寫的sql語句中了。並且在組合這個sql語句的時候要注意''的用法,如果省去了''那麼我們就會吃大虧的。


還有2009-2-3這個數值的獲取

查詢一天:

 代碼如下 復制代碼

select * from table where to_days(column_time) = to_days(now());
select * from table where date(column_time) = curdate();

查詢一周:

 代碼如下 復制代碼

select * from table where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(column_time);

查詢一個月:

 代碼如下 復制代碼

select * from table where DATE_SUB(CURDATE(), INTERVAL INTERVAL 1 MONTH) <= date(column_time);

使用MYSQL時間戳查詢時間段的常用函數

UNIX_TIMESTAMP(date)

如果沒有參數調用,返回一個Unix時間戳記(從’1970-01-01 00:00:00′GMT開始的秒數)。如果UNIX_TIMESTAMP()用一個date參數被調用,它返回從’1970-01-01 00:00:00′ GMT開始的秒數值。date可以是一個DATE字符串、一個DATETIME字符串、一個TIMESTAMP或以YYMMDD或YYYYMMDD格式的本地時間的一個數字。

 代碼如下 復制代碼

mysql> select UNIX_TIMESTAMP();

-> 882226357

mysql> select UNIX_TIMESTAMP(’1997-10-04 22:23:00′);

-> 875996580

當UNIX_TIMESTAMP被用於一個TIMESTAMP列,函數將直接接受值,沒有隱含的“string-to-unix-timestamp”變換。

 代碼如下 復制代碼

FROM_UNIXTIME(unix_timestamp)

以’YYYY-MM-DD HH:MM:SS’或YYYYMMDDHHMMSS格式返回unix_timestamp參數所表示的值,取決於函數是在一個字符串還是或數字上下文中被使用。

 代碼如下 復制代碼

mysql> select FROM_UNIXTIME(875996580);

-> ‘1997-10-04 22:23:00′

mysql> select FROM_UNIXTIME(875996580) + 0;

-> 19971004222300

FROM_UNIXTIME(unix_timestamp,format)

返回表示 Unix 時間標記的一個字符串,根據format字符串格式化。format可以包含與DATE_FORMAT()函數列出的條目同樣的修飾符。

 代碼如下 復制代碼

mysql> select FROM_UNIXTIME(UNIX_TIMESTAMP(), ‘%Y %D %M %h:%i:%s %x’);

-> ‘1997 23rd December 03:43:30 x’

通過 UNIX_TIMESTAMP 函數把 MySQL 數據庫中的 date 類型數據轉換成 unix timestamp 形式的一個整形數字:select UNIX_TIMESTAMP(’2006-02-28′) testdate;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved