MySQL日期时间函数大全

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中的月份数值 
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是一年的第几个季度 
mysql> select QUARTER('98-04-01'); 
  -> 2 
WEEK(date,first)
 返回date是一年的第几周(first默认值0,first取值1表示周一是周的开始,0从周日开始)
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并返回(P的格式YYMM或YYYYMM) 
mysql> select PERIOD_ADD(9801,2); 
  -> 199803 
PERIOD_DIFF(P1,P2) 
 返回在时期P1和P2之间月数(P1和P2的格式YYMM或YYYYMM)
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)
 对日期时间进行加减法运算
 (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' 
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) 
 %l 小时(1……12) 
 %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), 这里星期一是星期的第一天 
 %% 字符% )
mysql> select DATE_FORMAT('1997-10-04 22:23:00','%W %M %Y'); 
  -> 'Saturday October 1997' 
mysql> select DATE_FORMAT('1997-10-04 22:23:00','%H:%i:%s'); 
  -> '22:23:00' 
mysql> select DATE_FORMAT('1997-10-04 22:23:00','%D %y %a %d %m %b %j'); 
  -> '4th 97 Sat 04 10 Oct 277' 
mysql> select DATE_FORMAT('1997-10-04 22:23:00','%H %k %I %r %T %S %w'); 
  -> '22 22 10 10:23:00 PM 22:23:00 00 6' 
TIME_FORMAT(time,format)
 和DATE_FORMAT()类似,但TIME_FORMAT只处理小时、分钟和秒(其余符号产生一个NULL值或0)
CURDATE() 
CURRENT_DATE()
 以'YYYY-MM-DD'或YYYYMMDD格式返回当前日期值(根据返回值所处上下文是字符串或数字) 
mysql> select CURDATE(); 
  -> '1997-12-15' 
mysql> select CURDATE() 0; 
  -> 19971215 
CURTIME() 
CURRENT_TIME()
 以'HH:MM:SS'或HHMMSS格式返回当前时间值(根据返回值所处上下文是字符串或数字) 
mysql> select CURTIME(); 
  -> '23:50:26' 
mysql> select CURTIME() 0; 
  -> 235026 
NOW() 
SYSDATE() 
CURRENT_TIMESTAMP()
 以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回当前日期时间(根据返回值所处上下文是字符串或数字) 
mysql> select NOW(); 
  -> '1997-12-15 23:50:26' 
mysql> select NOW() 0; 
  -> 19971215235026 
UNIX_TIMESTAMP() 
UNIX_TIMESTAMP(date) 
 返回一个Unix时间戳(从'1970-01-01 00:00:00'GMT开始的秒数,date默认值为当前时间)
mysql> select UNIX_TIMESTAMP(); 
  -> 882226357 
mysql> select UNIX_TIMESTAMP('1997-10-04 22:23:00'); 
  -> 875996580 
FROM_UNIXTIME(unix_timestamp) 
 以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回时间戳的值(根据返回值所处上下文是字符串或数字) 
mysql> select FROM_UNIXTIME(875996580); 
  -> '1997-10-04 22:23:00' 
mysql> select FROM_UNIXTIME(875996580) 0; 
  -> 19971004222300 
FROM_UNIXTIME(unix_timestamp,format) 
 以format字符串格式返回时间戳的值
mysql> select FROM_UNIXTIME(UNIX_TIMESTAMP(),'%Y %D %M %h:%i:%s %x'); 
  -> '1997 23rd December 03:43:30 x' 
SEC_TO_TIME(seconds) 
 以'HH:MM:SS'或HHMMSS格式返回秒数转成的TIME值(根据返回值所处上下文是字符串或数字) 
mysql> select SEC_TO_TIME(2378); 
  -> '00:39:38' 
mysql> select SEC_TO_TIME(2378) 0; 
  -> 3938 
TIME_TO_SEC(time) 
 返回time值有多少秒 
mysql> select TIME_TO_SEC('22:23:00'); 
  -> 80580 
mysql> select TIME_TO_SEC('00:39:38'); 
  -> 2378

MySQL日期时间函数大全(转)的更多相关文章

  1. 【转】MySQL日期时间函数大全

    MySQL日期时间函数大全 1.DAYOFWEEK(date)  返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)mysql> select DAYOFWEEK( ...

  2. MySQL日期时间函数大全 转

    DAYOFWEEK(date)  返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)mysql> select DAYOFWEEK('1998-02-03');  ...

  3. MySQL日期时间函数大全

    DAYOFWEEK(date) 返回日期date是星期几(=星期六,ODBC标准) mysql> select DAYOFWEEK('1998-02-03'); WEEKDAY(date) 返回 ...

  4. MySQL 日期时间函数大全 (转)

    转载自:http://blog.itpub.net/29773961/viewspace-1808967 以下内容基于MySQL 5.6及更高,大部分函数5.5也基本适用,更低版本请参考对应版本手册, ...

  5. Oracle日期时间函数大全

    ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits ...

  6. [转]ORACLE日期时间函数大全

    本文转自:http://www.cnblogs.com/chuncn/archive/2009/04/29/1381282.html ORACLE日期时间函数大全 TO_DATE格式(以时间: ::2 ...

  7. [转载]ORACLE日期时间函数大全

    ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02   13:45:25为例)           Year:              yy two digits 两位年 ...

  8. mysql日期时间函数2

    win7可以设定每周从哪一天开始,win2003等不能方便的修改.有的是周日开始,有的是周一开始.而工作中有的时候每周是从周六开始算的,有些数据需要按周统计,那么那种方式比较好呢?   通过下面的研究 ...

  9. MySQL 日期时间函数

    目录 datetime和timestamp区别: timestamp类型字段特殊性: Mysql获取日期时间函数: now() curdate() curtime() Extract() last_d ...

随机推荐

  1. Quartus II中FPGA的管脚分配保存方法

    一.摘要 将Quartus II中FPGA管脚的分配及保存方法做一个汇总. 二.管脚分配方法 FPGA 的管脚分配,除了在QII软件中,选择“Assignments ->Pin”标签(或者点击按 ...

  2. ASP.NET Page对象各事件执行顺序(转)

    很久没写 asp.net 的东西了,search 了一下 page 的事件执行顺序,找到如下的东西,仅仅做记录用 Page.PreInit 在页初始化开始时发生 Page.Init 当服务器控件初始化 ...

  3. LVM原理及实现过程

    这里引用鸟哥说明 LVM 的重点在於『可以弹性的调整 filesystem 的容量!』而并非在於效能与数据保全上面. 需要文件的读写效能或者是数据的可靠性,请参考前面的 RAID 小节. LVM 可以 ...

  4. vbs脚本总结

    1.  msgbox语法:msgbox "对话框","对话框标题" 例:const hw="Hello World!" msgbox(hw) ...

  5. java学习第10天

    今天,下载了eclipse,终于不用在notepad里面敲了..好高兴=-=.下载安装eclipse就不用说了,去oracle官网下就好了,提醒一下,在所有路径中都不要有中文的出现..很能会有很多奇怪 ...

  6. mvc多个按钮的提交方法

    转载地址:http://www.cnblogs.com/wuchang/archive/2010/01/29/1658916.html 有时候会遇到这种情况:在一个表单上需要多个按钮来完成不同的功能, ...

  7. 解决阿里云数据库RDS报错The table '/home/mysql/data3015/tmp/#sql_13975_23' is full

    查询任何一条语句都显示 The table '/home/mysql/data3015/tmp/#sql_13975_23' is full 查看了下数据库利用磁盘空间没有满, 阿里云的处理方式: 1 ...

  8. XidianOJ 1120 Gold of Orz Pandas

    题目描述 Orz Panda is addicted to one RPG game. To make his character stronger, he have to fulfil tasks ...

  9. 8.4 H5知识点总结

    HTML简介 HyperText Markup Language 简称为HTML HyperText: 超文本 (文本 + 图片 + 视频 + 音频 + 链接) Markup Language: 标记 ...

  10. mininet之miniedit可视化操作

    Mininet 2.2.0之后的版本内置了一个mininet可视化工具miniedit,使用Mininet可视化界面方便了用户自定义拓扑创建,为不熟悉python脚本的使用者创造了更简单的环境,界面直 ...