MySql 日期操作命令

2021-09-07 21:16:17 字數 4488 閱讀 1705

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是乙個關鍵詞,指明表示式應該如何被解釋。extract(type from date)函式從日期

中返回「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 from 表名 where to days 時間欄位名 to days now 昨天 select from 表名 where to days now to days 時間欄位名 1 本週 select from 表名 where yearweek date format 時間欄...

mysql日期操作

一 獲取當前日期時間 1.1 獲得當前日期 時間 date time 函式 now 1.2 獲取當前日期 時間 date time 函式 sysdate 注 二者類擬,不同在於now 在執行時就得到了,sysdate 執行時動態得到。2 獲取當前日期 curdate 與current date 等同...

mysql time 操作 MySql 日期操作

1 獲取日期的函式 select now 獲取當前日期與時間 同義詞 localtime localtimestamp current timestamp select curdate 獲取當前日期 select sysdate 動態獲取當前日期與時間 select curtime 獲取當前時間 2...