mysql日期函式001

2021-08-29 14:46:50 字數 4521 閱讀 4162

這裡是乙個使用日期函式的例子。下面的查詢選擇了所有記錄,其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');

-> 3

weekday(date)

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

mysql> select weekday('1997-10-04 22:23:00');

-> 5

mysql> select weekday('1997-11-05');

-> 2

dayofmonth(date)

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

mysql> select dayofmonth('1998-02-03');

-> 3

dayofyear(date)

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

mysql> select dayofyear('1998-02-03');

-> 34

month(date)

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

mysql> select month('1998-02-03');

-> 2

dayname(date)

返回date的星期名字。

mysql> select dayname("1998-02-05");

-> 'thursday'

monthname(date)

返回date的月份名字。

mysql> select monthname("1998-02-05");

-> 'february'

quarter(date)

返回date一年中的季度,範圍1到4。

mysql> select quarter('98-04-01');

-> 2

week(date)

week(date,first)

對於星期天是一周的第一天的地方,有乙個單個引數,返回date的週數,範圍在0到52。2個引數形式week()允許你指定星期是否開始於星期天或星期一。如果第二個引數是0,星期從星期天開始,如果第二個引數是1,從星期一開始。

mysql> select week('1998-02-20');

-> 7

mysql> select week('1998-02-20',0);

-> 7

mysql> select week('1998-02-20',1);

-> 8

year(date)

返回date的年份,範圍在1000到9999。

mysql> select year('98-02-03');

-> 1998

hour(time)

返回time的小時,範圍是0到23。

mysql> select hour('10:05:03');

-> 10

minute(time)

返回time的分鐘,範圍是0到59。

mysql> select minute('98-02-03 10:05:03');

-> 5

second(time)

回來time的秒數,範圍是0到59。

mysql> select second('10:05:03');

-> 3

period_add(p,n)

增加n個月到階段p(以格式yymm或yyyymm)。以格式yyyymm返回值。注意階段引數p不是日期值。

mysql> select period_add(9801,2);

-> 199803

period_diff(p1,p2)

返回在時期p1和p2之間月數,p1和p2應該以格式yymm或yyyymm。注意,時期引數p1和p2不是日期值。

mysql> select period_diff(9802,199703);

-> 11

date_add(date,interval expr type)

date_sub(date,interval expr type)

adddate(date,interval expr type)

subdate(date,interval expr type)

這些功能執行日期運算。對於mysql 3.22,他們是新的。adddate()和subdate()是date_add()和date_sub()的同義詞。

在mysql 3.23中,你可以使用+和-而不是date_add()和date_sub()。(見例子)date是乙個指定開始日期的

datetime或date值,expr是指定加到開始日期或從開始日期減去的間隔值乙個表示式,expr是乙個字串;它可以以

中返回「type」間隔。下表顯示了type和expr引數怎樣被關聯: type值 含義 期望的expr格式

second 秒 seconds

minute 分鐘 minutes

hour 時間 hours

day 天 days

month 月 months

year 年 years

minute_second 分鐘和秒 "minutes:seconds"

hour_minute 小時和分鐘 "hours:minutes"

day_hour 天和小時 "days hours"

year_month 年和月 "years-months"

hour_second 小時, 分鐘, "hours:minutes:seconds"

day_minute 天, 小時, 分鐘 "days hours:minutes"

day_second 天, 小時, 分鐘, 秒 "days hours:minutes:seconds"

mysql在expr格式中允許任何標點分隔符。表示顯示的是建議的分隔符。如果date引數是乙個date值並且你的計算僅僅包含year、month和day部分(即,沒有時間部分),結果是乙個date值。否則結果是乙個datetime值。

mysql> select "1997-12-31 23:59:59" + interval 1 second;

-> 1998-01-01 00:00:00

mysql> select interval 1 day + "1997-12-31";

-> 1998-01-01

mysql> select "1998-01-01" - interval 1 second;

-> 1997-12-31 23:59:59

mysql> select date_add("1997-12-31 23:59:59",

interval 1 second);

-> 1998-01-01 00:00:00

mysql> select date_add("1997-12-31 23:59:59",

interval 1 day);

-> 1998-01-01 23:59:59

mysql> select date_add("1997-12-31 23:59:59",

interval "1:1" minute_second);

-> 1998-01-01 00:01:00

mysql> select date_sub("1998-01-01 00:00:00",

interval "1 1:1:1" day_second);

-> 1997-12-30 22:58:59

mysql> select date_add("1998-01-01 00:00:00",

interval "-1 10" day_hour);

-> 1997-12-30 14:00:00

mysql> select date_sub("1998-01-02", interval 31 day);

-> 1997-12-02

mysql> select extract(year from "1999-07-02");

-> 1999

mysql> select extract(year_month from "1999-07-02 01:02:03");

-> 199907

mysql> select extract(day_minute from "1999-07-02 01:02:03");

-> 20102

mysql> select date_add('1998-01-30', interval 1 month);

-> 1998-02-28

mysql日期函式彙總 mysql日期函式彙總

一 當前時間獲取 1.now 獲得當前日期 時間 2.sysdate 獲得當前日期 時間 3.current timestamp,current timestamp 獲得當前時間戳 二 日期轉換函式 時間轉換函式 1.date format date,format time format time,...

mysql日期函式轉換 Mysql日期函式大全 轉

date add date,interval expr type date sub date,interval expr type adddate date,interval expr type subdate date,interval expr type 對日期時間進行加減法運算 adddate...

mysql日期函 MySQL 日期函式

mysql 日期函式 1,mysql dayofweek 和 weekday 獲取星期 在 mysql 中,我們可以用 dayofweek 和 weekday 函式獲取指定日期的星期.區別在於 dayofweek 獲取的星期索引是以 1 開始,而 weekday 獲取的星期索引是以 0 開始.day...