萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysql日期時間常用函數總結

mysql日期時間常用函數總結

在mysql中我們經常會用到一些常用的時間與日期一些運算,下面我來總結一下關於mysql日期時間常用函數介紹,有需要的朋友參考。

一、時間差

datediff:說白了就是用第一個時間去減第二個時間,順序不能忘記

 代碼如下 復制代碼

select datediff('2012-08-08', '2012-08-13'); -- -5

二、獲取當前時間

 代碼如下 復制代碼

now
current_timestamp()
,current_timestamp
,localtime()
,localtime
,localtimestamp    -- (v4.0.6)
,localtimestamp()  -- (v4.0.6)

sysdate(); //動態獲取系統時間。這個要和now函數區分來,now就好比已經定義了一個變量,sysdate等於變量是在運行到後確定,所以他們有一個時差


三、獲得當前日期(date)函數

curdate()

以'YYYY-MM-DD'或YYYYMMDD格式返回今天日期值,取決於函數是在一個字符串還是數字上下文被使用。

 代碼如下 復制代碼

mysql> select CURDATE();

+------------+

| CURDATE()  |

+------------+

| 2001-02-20 |

+------------+


current_date()


四、獲得當前時間

curtime()

CURTIME() 返回當前時間

以'HH:MM:SS'或HHMMSS格式返回當前時間值,取決於函數是在一個字符串還是在數字的上下文被使用。

 代碼如下 復制代碼

mysql> select CURTIME();

+-----------+

| CURTIME() |

+-----------+

| 10:42:38  |

+-----------+


current_time()
current_time

五、獲得當前 UTC 日期時間函數

 代碼如下 復制代碼

select utc_timestamp(), utc_date(), utc_time(), now()

六、Mysql日期時間函數

 代碼如下 復制代碼

set @dt = '2008-09-10 07:15:30.123456';
 
select date(@dt);        -- 2008-09-10
select time(@dt);        -- 07:15:30.123456
select year(@dt);        -- 2008
select quarter(@dt);     -- 3
select month(@dt);       -- 9
select week(@dt);        -- 36
select day(@dt);         -- 10
select hour(@dt);        -- 7
select minute(@dt);      -- 15
select second(@dt);      -- 30
select microsecond(@dt); -- 123456


下面分離一些年月日函數

下面的查詢選擇了所有記錄,其date_col的值是在最後30天以內:

 代碼如下 復制代碼

mysql> SELECT something FROM table
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;

DAYOFWEEK(date)

返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。這些索引值對應於ODBC標准。

 代碼如下 復制代碼

mysql> select DAYOFWEEK('1998-02-03'/res/images/smilies/wink.gif;
-> 3

WEEKDAY(date)

返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。

 代碼如下 復制代碼

mysql> select WEEKDAY('1997-10-04 22:23:00'/res/images/smilies/wink.gif;

-> 5

mysql> select WEEKDAY('1997-11-05'/res/images/smilies/wink.gif;

-> 2

 

DAYOFMONTH(date)

返回date的月份中日期,在1到31范圍內。

 代碼如下 復制代碼

mysql> select DAYOFMONTH('1998-02-03'/res/images/smilies/wink.gif;

-> 3

DAYOFYEAR(date)

返回date在一年中的日數, 在1到366范圍內。

 代碼如下 復制代碼

mysql> select DAYOFYEAR('1998-02-03'/res/images/smilies/wink.gif;

-> 34

MONTH(date)

返回date的月份,范圍1到12。

 代碼如下 復制代碼

mysql> select MONTH('1998-02-03'/res/images/smilies/wink.gif;

-> 2

copyright © 萬盛學電腦網 all rights reserved