當前位置:編程學習大全網 - 編程語言 - 關於數據庫(MYSQL)時間段的拆分問題,怎麽樣編程實現?

關於數據庫(MYSQL)時間段的拆分問題,怎麽樣編程實現?

可以看下時間函數

對日期時間進行加減法運算

 (ADDDATE()和SUBDATE()是DATE_ADD()和DATE_SUB()的同義詞,也可以用運算符 和-而不是函數

 date是壹個DATETIME或DATE值,expr對date進行加減法的壹個表達式字符串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"

 expr中允許任何標點做分隔符,如果所有是DATE值時結果是壹個DATE值,否則結果是壹個DATETIME值)

 如果type關鍵詞不完整,則MySQL從右端取值,DAY_SECOND因為缺少小時分鐘等於MINUTE_SECOND)

 如果增加MONTH、YEAR_MONTH或YEAR,天數大於結果月份的最大天數則使用最大天數)

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

TO_DAYS(date)

 返回日期date是西元0年至今多少天(不計算1582年以前)

mysql> select TO_DAYS(950501);

-> 728779

mysql> select TO_DAYS('1997-10-07');

-> 729669

FROM_DAYS(N)

 給出西元0年至今多少天返回DATE值(不計算1582年以前)

mysql> select FROM_DAYS(729669);

-> '1997-10-07'

本文來自CSDN博客,轉載請標明出處:blogs.com/zeroone/archive/2010/05/05/1727659.html

  • 上一篇:施密特正交化計算過程
  • 下一篇:法蘭克和三菱系統區別
  • copyright 2024編程學習大全網