日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql日期加减

發布時間:2024/1/17 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql日期加减 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、MySQL?為日期增加一個時間間隔:date_add()。

1、? 示例:

set @dt = now();

select date_add(@dt, interval 1 day);?? ??????? - 加1天

select date_add(@dt, interval 1 hour);?? ???????????? -加1小時

select date_add(@dt, interval 1 minute);??? - 加1分鐘

select date_add(@dt, interval 1 second); ??????????? -加1秒

select date_add(@dt, interval 1 microsecond);???? -加1毫秒

select date_add(@dt, interval 1 week);???????? -加1周

select date_add(@dt, interval 1 month);??????? -加1月

select date_add(@dt, interval 1 quarter);???????????? -加1季

select date_add(@dt, interval 1 year);?????????? -加1年

2、??mysql?adddate(), addtime()函數,可以用 date_add() 來替代。

二、MySQL 為日期減去一個時間間隔:date_sub():

1、? mysql> select date_sub('1998-01-01 00:00:00', interval '1 1:1:1' day_second);

date_sub('1998-01-01 00:00:00', interval '1 1:1:1' day_second)

1997-12-30 22:58:59

2、? MySQL 中還有兩個函數 subdate(), subtime(),建議,用 date_sub() 來替代。

三、MySQL 另類日期函數:period_add(P,N), period_diff(P1,P2)

??函數參數“P”的格式為“YYYYMM”或者“YYMM”,第二個參數“N”表示增加或減去 N month(月)。

? 1、MySQL period_add(P,N):日期加/減去N月。

?? mysql> select period_add(200808,2), period_add(20080808,-2)

?? | period_add(200808,2) | period_add(20080808,-2) |

?? 結果|???????? 200810 |?????????????? 20080806 |

?? MySQL period_diff(P1,P2):日期 P1-P2,返回 N 個月。

?? mysql> select period_diff(200808, 200801);

?? period_diff(200808, 200801)

?? 結果:7

?? 2、MySQL 中,這兩個日期函數,一般情況下很少用到。

四、MySQL 日期、時間相減函數:datediff(date1,date2), timediff(time1,time2)

??? MySQL datediff(date1,date2):兩個日期相減 date1 date2,返回天數。

??? select datediff('2008-08-08', '2008-08-01'); - 7

??? select datediff('2008-08-01', '2008-08-08'); -7

??? MySQL timediff(time1,time2):兩個日期相減 time1 time2,返回 time 差值。

??? select timediff('2008-08-08 08:08:08', '2008-08-08 00:00:00');- 08:08:08

??? select timediff('08:08:08', '00:00:00');????????????????????? - 08:08:08

??? 注意:timediff(time1,time2) 函數的兩個參數類型必須相同。

五、當前時間的幾個函數:

1、?? NOW (); 當前具體的日期和時間,

2、?? CURDATE (); 當前日期

3、?? CURTIME(); 當前時間

4、?? DATE ( date ); 提取日期或日期/時間表達式的日期部分

5、?? DATE_ADD ( date, INTERVAL? expr? type); 給日期添加指定的時間間隔,

? expr 表時間間隔,type參數可以是下列值:

? MICROSECOND ??SECOND ??? MINUTE ??HOUR ?DAY ?WEEK ?MONTH QUARTER ?YEAR

? SECOND_MICROSECOND ??????? MINUTE_MICROSECOND ????? MINUTE_SECOND

? HOUR_MICROSECOND ?? HOUR_SECOND ????? HOUR_MINUTE ???? DAY_MICROSECOND

? DAY_SECOND ????????? DAY_MINUTE ???????? ??????? DAY_HOUR ???????????? YEAR_MONTH

6、?? DATE_SUB (date, INTERVAL ?expr ?type);? 從日期送去指定的時間間隔。

? expr 參數是您希望添加的時間間隔, type參數同DATE_ADD()。

7、?? DATEDIFF ( date1, date2 ); 返回兩個日期之間的天數,只有值的日期部分參與計算。

8、?? DATE_FORMAT (date, format); 用不同的格式顯示日期/時間。

format 規定日期/時間的輸出格式。格式有:

格式

描述

?

格式

描述

%a

縮寫星期名

%p

AM 或 PM

%b

縮寫月名

%r

時間,12-小時(hh:mm:ss AM 或 PM)

%c

月,數值

%S

秒(00-59)

%D

帶有英文前綴的月中的天

%s

秒(00-59)

%d

月的天,數值(00-31)

%T

時間, 24-小時 (hh:mm:ss)

%e

月的天,數值(0-31)

%U

周 (00-53) 星期日是一周的第一天

%f

微秒

%u

周 (00-53) 星期一是一周的第一天

%H

小時 (00-23)

%V

周 (01-53) 星期日是一周的第一天,與 %X 使用

%h

小時 (01-12)

%v

周 (01-53) 星期一是一周的第一天,與 %x 使用

%I

小時 (01-12)

%W

星期名

%i

分鐘,數值(00-59)

%w

周的天 (0=星期日, 6=星期六)

%j

年的天 (001-366)

%X

年,其中的星期日是周的第一天,4 位,與 %V 使用

%k

小時 (0-23)

%x

年,其中的星期一是周的第一天,4 位,與 %v 使用

%l

小時 (1-12)

%Y

年,4 位

%M

月名

%y

年,2 位

%m

月,數值(00-12)

注:

UPDATE `deadline` SET `end_time`=date_add(`end_time`, interval 1 month) where `function_type`=1 加一個月

轉載于:https://www.cnblogs.com/vofill/p/7442476.html

總結

以上是生活随笔為你收集整理的mysql日期加减的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。