MySQL内置函数中的日期和时间函数详解Word文档下载推荐.docx
- 文档编号:14353352
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:20
- 大小:180.17KB
MySQL内置函数中的日期和时间函数详解Word文档下载推荐.docx
《MySQL内置函数中的日期和时间函数详解Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《MySQL内置函数中的日期和时间函数详解Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
若一个日期为“零”值,或者是一个诸如'
2001-11-00'
之类的不完全日期,提取部分日期值的函数可能会返回0。
例如,DAYOFMONTH('
)会返回0。
ADDDATE(date,INTERVALexprtype)ADDDATE(expr,days)
当被第二个参数的INTERVAL格式激活后,ADDDATE()就是DATE_ADD()的同义词。
相关函数SUBDATE()则是DATE_SUB()的同义词。
对于INTERVAL参数上的信息,请参见关于DATE_ADD()的论述。
SELECTDATE_ADD('
1998-01-02'
INTERVAL31DAY);
->
'
1998-02-02'
SELECTADDDATE('
若days参数只是整数值,则MySQL5.1将其作为天数值添加至expr。
31);
◆ADDTIME(expr,expr2)
ADDTIME()将expr2添加至expr然后返回结果。
expr是一个时间或时间日期表达式,而expr2是一个时间表达式。
SELECTADDTIME('
1997-12-3123:
59:
59.999999'
11:
1:
1.000002'
);
1998-01-0201:
01:
01.000001'
00:
00.999999'
'
02:
00.999998'
03:
01.999997'
◆CONVERT_TZ(dt,from_tz,to_tz)
CONVERT_TZ()将时间日期值dt从from_tz给出的时区转到to_tz给出的时区,然后返回结果值。
在从若from_tz到UTC的转化过程中,该值超出TIMESTAMP类型的被支持范围,那么转化不会发生。
SELECTCONVERT_TZ('
2004-01-0112:
00'
'
GMT'
MET'
2004-01-0113:
+00:
+10:
2004-01-0122:
注释:
若要使用诸如'
或'
Europe/Moscow'
之类的指定时间区,首先要设置正确的时区表。
◆CURDATE()
将当前日期按照'
YYYY-MM-DD'
或YYYYMMDD格式的值返回,具体格式根据函数用在字符串或是数字语境中而定。
SELECTCURDATE();
1997-12-15'
SELECTCURDATE()+0;
19971215
◆CURRENT_DATECURRENT_DATE()
CURRENT_DATE和CURRENT_DATE()是的同义词.
◆CURTIME()
将当前时间以'
HH:
MM:
SS'
或HHMMSS的格式返回,具体格式根据函数用在字符串或是数字语境中而定。
SELECTCURTIME();
23:
50:
26'
SELECTCURTIME()+0;
235026
◆CURRENT_TIME,CURRENT_TIME()
CURRENT_TIME和CURRENT_TIME()是CURTIME()的同义词。
◆CURRENT_TIMESTAMP,CURRENT_TIMESTAMP()
CURRENT_TIMESTAMP和CURRENT_TIMESTAMP()是NOW()的同义词。
◆DATE(expr)
提取日期或时间日期表达式expr中的日期部分。
SELECTDATE('
2003-12-3101:
03'
2003-12-31'
◆DATEDIFF(expr,expr2)
DATEDIFF()返回起始时间expr和结束时间expr2之间的天数。
Expr和expr2为日期或date-and-time表达式。
计算中只用到这些值的日期部分。
SELECTDATEDIFF('
59'
1997-12-30'
1
1997-11-3023:
1997-12-31'
-31
◆DATE_ADD(date,INTERVALexprtype)DATE_SUB(date,INTERVALexprtype)
这些函数执行日期运算。
date是一个DATETIME或DATE值,用来指定起始时间。
expr是一个表达式,用来指定从起始日期添加或减去的时间间隔值。
Expr是一个字符串;
对于负值的时间间隔,它可以以一个‘-’开头。
type为关键词,它指示了表达式被解释的方式。
关键词INTERVA及type分类符均不区分大小写。
以下表显示了type和expr参数的关系:
MySQL允许任何expr格式中的标点分隔符。
表中所显示的是建议的分隔符。
若date参数是一个DATE值,而你的计算只会包括YEAR、MONTH和DAY部分(即,没有时间部分),其结果是一个DATE值。
否则,结果将是一个DATETIME值。
若位于另一端的表达式是一个日期或日期时间值,则INTERVALexprtype只允许在+操作符的两端。
对于–操作符,
INTERVALexprtype只允许在其右端,原因是从一个时间间隔中提取一个日期或日期时间值是毫无意义的。
(见下面的例子)。
SELECT'
+INTERVAL1SECOND;
1998-01-0100:
SELECTINTERVAL1DAY+'
;
1998-01-01'
-INTERVAL1SECOND;
INTERVAL1SECOND);
INTERVAL1DAY);
1998-01-0123:
INTERVAL'
1'
MINUTE_SECOND);
SELECTDATE_SUB('
DAY_SECOND);
1997-12-3022:
58:
-110'
DAY_HOUR);
1997-12-3014:
1997-12-02'
1992-12-3123:
59.000002'
1.999999'
SECOND_MICROSECOND);
1993-01-0100:
若你指定了一个过于短的时间间隔值(不包括type关键词所预期的所有时间间隔部分),MySQL假定你已经省去了时间间隔值的最左部分。
例如,你指定了一种类型的DAY_SECOND,expr的值预期应当具有天、小时、分钟和秒部分。
若你指定了一个类似'
10'
的值,MySQL假定天和小时部分不存在,那么这个值代表分和秒。
换言之,'
DAY_SECOND被解释为相当于'
MINUTE_SECOND。
这相当于MySQL将TIME值解释为所耗费的时间而不是日时的解释方式。
假如你对一个日期值添加或减去一些含有时间部分的内容,则结果自动转化为一个日期时间值:
1999-01-01'
INTERVAL1DAY);
1999-01-02'
INTERVAL1HOUR);
1999-01-0101:
假如你使用了格式严重错误的日期,则结果为NULL。
假如你添加了
MONTH、YEAR_MONTH或YEAR,而结果日期中有一天的日期大于添加的月份的日期最大限度,则这个日期自动被调整为添加月份的最大日期:
1998-01-30'
INTERVAL1MONTH);
1998-02-28'
◆DATE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MySQL 内置 函数 中的 日期 时间 详解