广

MYSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    Mysql日期和时间函数不求人

    2018-04-09 07:41:45 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布

      对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型。 

      这里是一个使用日期函数的例子。下面的查询选择了所有记录,其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是一个关键词,指明表达式应该如何被解释。EXTRACT(type FROM date)函数从日期

      中返回“type”间隔。下表显示了type和expr参数怎样被关联: type值 含义 期望的expr格式 

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告