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

歡迎訪問 生活随笔!

生活随笔

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

数据库

mysql+两天前+函数_Mysql 日期函数

發布時間:2025/3/15 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql+两天前+函数_Mysql 日期函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、MySQL 獲得當前日期時間 函數

1.獲取當前日期+時間(date + time):

now()

sysdate()

sysdate()和now()的區別在于sysdate() 在函數執行時動態得到值, now() 在執行開始時值就得到了,看下面的例子就明白了:

mysql> select sysdate(),sleep(3),sysdate();

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

| sysdate() ? ? ? ? ? | sleep(3) | sysdate() ? ? ? ? ? |

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

| 2013-12-30 16:12:36 | ? ? ? ?0 | 2013-12-30 16:12:39 |

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

1 row in set (3.03 sec)

mysql> select now(),sleep(3),now();

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

| now() ? ? ? ? ? ? ? | sleep(3) | now() ? ? ? ? ? ? ? |

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

| 2013-12-30 16:12:51 | ? ? ? ?0 | 2013-12-30 16:12:51 |

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

1 row in set (3.00 sec)

由結果可知,sysdate() 函數兩次得到的時間值相差 3 秒,而now() 函數兩次的時間值是相同的。

2.獲取當前日期:

curdate()

還有兩個相同作用函數currtme_date()和current_date

3.獲取當前時間:

curtime()

還有兩個相同作用函數current_time()和current_time

4.獲取當前 UTC 日期時間函數:

utc_date()

utc_time()

utc_timestamp()

二.日期時間 Extract(選取)函數

year(date) ? ? ? ? ? ? #返回date的年份,范圍是1000到9999

month(date) ? ? ? ? #返回date的月份,范圍是1到12

day(date) ? ? ? ? ? ? ?#返回date的日期,范圍是1到31

hour(time) ? ? ? ? ? ?#返回date的小時,范圍是0到23

minute(time) ? ? ? ?#返回date的分鐘,范圍是0到59

second(time) ? ? ? #返回date的秒鐘,范圍是0到59

quarter(date) ? ? ? #返回date所屬的季度,范圍是1到4

WEEK(date,[0/1]) ? ? ? ? ? ? #返回date為一年當中的第幾周,默認從0開始計數,范圍是0-52 ; 如果帶參數1,則表示從1開始計數,范圍是1-53

WEEKOFYEAR(date) ? ? ?#返回date為年度當中的第幾周(自然周數),范圍是1-52,如果12月最后幾天和1.1在同一周,則該周內都返回值 1

YEARWEEK(date) ? ? ? ? ? #返回date為年度當中的Year+第幾周,周范圍是01-52,如果12月最后幾天和1.1在同一周,則該周內都周值都為 52,

WEEKDAY(date) ? ? ? ? ? ? #返回date為所在星期的第幾天,范圍是0-6(0=星期1...6=星期天)

DAYOFWEEK(date) ? ? ? ?#返回date為所在星期的第幾天,范圍是1-7(1=星期天...7=星期六)

DAYOFMONTH(date) ? ? #返回date為所在月份的第幾天,范圍1-31

DAYOFYEAR(date) ? ? ? ? #返回date為所在年份的第幾天,范圍1-366

DAYNAME(date) ? ? ? ? ? ? #返回date的星期名稱Monday...

MONTHNAME(date) ? ? ?#返回date的月份名稱January...

LAST_DAY(date) ? ? ? ? ? #返回date所在月份的最后一天

三.日期計算函數

1.為日期增加一個時間間隔

DATE_ADD(date,INTERVAL expr type)

type值可以為YEAR、MONTH、DAY、WEEK、QUARTER、HOUR、MINUTE、SECOND、MICROSECOND、SECOND_MICROSECOND、MINUTE_MICROSECOND、MINUTE_SECOND、HOUR_MICROSECOND、HOUR_SECOND、HOUR_MINUTE、DAY_MICROSECOND、DAY_SECOND、DAY_MINUTE、DAY_HOUR、YEAR_MONTH

例:select ?date_add(now(),interval 10 day);

2.為日期減去一個時間間隔

DATE_SUB(date,INTERVAL expr type)

type值同date_add函數一要

例:select ?date_sub(now(),interval 1 week);

3.日期、時間相減函數: DATEDIFF(date1,date2) ? ? ? ? ? ? #返回date1-date2相關的天數

TIMEDIFF(date1,date2) ? ? ? ? ? ? ?#返回time1-time2相差的時間,返回格式為hh:mm:ss

TIMESTAMPDIFF( type,date1,date2)

#返回date2-date1相差的指定unit,返回格式是數值型,type可以是:FRAC_SECOND (microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, or YEAR。

四.日期、時間格式轉換函數

1.日期時間轉字符:

DATE_FORMAT(date,format) 根據format字符串格式化date值。下列修飾符可以被用在format字符串中:

%M 月名字(January……December)

%W 星期名字(Sunday……Saturday)

%D 有英語前綴的月份的日期(1st, 2nd, 3rd, 等等。)

%Y 年, 數字, 4 位

%y 年, 數字, 2 位

%a 縮寫的星期名字(Sun……Sat)

%d 月份中的天數, 數字(00……31)

%e 月份中的天數, 數字(0……31)

%m 月, 數字(01……12)

%c 月, 數字(1……12)

%b 縮寫的月份名字(Jan……Dec)

%j 一年中的天數(001……366)

%H 小時(00……23)

%k 小時(0……23)

%h 小時(01……12)

%I 小時(01……12) (大寫 i)

%l小時(1……12) ??(小寫L)

%i 分鐘, 數字(00……59)

%r 時間,12 小時(hh:mm:ss [AP]M)

%T 時間,24 小時(hh:mm:ss)

%S 秒(00……59)

%s 秒(00……59)

%p AM或PM

%w 一個星期中的天數(0=Sunday ……6=Saturday )

%U 星期(0……52), 這里星期天是星期的第一天

%u 星期(0……52), 這里星期一是星期的第一天

%% 一個文字“%”。

例:

SELECT DATE_FORMAT(now(),'%Y%m%d'); ? ? ? ? ? ? ? ?#?20131230

2.字符串轉換為日期函數:

str_to_date(str, format)

format值同上

例:

SELECT STR_TO_DATE('10/15/2013', '%m/%d/%Y'); ? ? ? ? ? # 2013-10-15

SELECT STR_TO_DATE('20131015170201', '%Y%m%d %H%i%s'); ? ? ? ? ? #2013-10-15 17:02:01

3.(時間、秒)轉換函數:

SELECT TIME_TO_SEC('00:02:10'); ? ? ?# ?130

SELECT SEC_TO_TIME(100);? ? ? ? ? ? ? ? # 00:01:40

4.(日期、天數)轉換函數:

SELECT TO_DAYS('0000-01-01'); ? ? ? ? ?# 1

SELECT TO_DAYS(NOW()); ? ? ? ? ? ? ? ? ? ?# 735597

SELECT FROM_DAYS(366); ? ? ? ? ? ? ? ? ? # 0001-01-01

SELECT FROM_DAYS(735550); ? ? ? ? ? ?#2013-11-13

5.獲取國家地區時間格式函數: get_format(date|time|datetime, 'eur'|'usa'|'jis'|'iso'|'internal') 例: select get_format(date,'usa') ; ? ? ? ? ? ? ? # '%m.%d.%Y' select get_format(datetime,'usa') ; ? ? ? # '%Y-%m-%d %H.%i.%s' select get_format(time,'internal') ; ? ? ? ?# '%H%i%s'

總結

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

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