mysqlAPI--日期和时间函数.docx
《mysqlAPI--日期和时间函数.docx》由会员分享,可在线阅读,更多相关《mysqlAPI--日期和时间函数.docx(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第65页 共65页12.7。日期和时间函数本节描述的功能,可用于操作时间值。见第11.3节“日期和时间类型”,每个日期和时间不同的值和有效的格式,在该值可以被指定的范围的说明。表12.13。日期/时间函数名描述(录入)添加日期值的时间值(间隔)(ADDTIME)添加时间(CONVERT_TZ)转换从一个时区到另一个CURDATE()返回当前日期CURRENT_DATE(),CURRENT_DATE同义词CURDATE()CURRENT_TIME(),CURRENT_TIME同义词CURTIME()CURRENT_TIMESTAM
2、P(),CURRENT_TIMESTAMP别名为NOW()CURTIME()返回当前时间DATE_ADD()添加日期值的时间值(间隔)DATE_FORMAT()指定的日期格式DATE_SUB()从日期减去一个时间值(间隔)DATE()提取日期或日期时间表达式的日期部分DATEDIFF()两个日期相减天()同义DAYOFMONTH()(DAYNAME)返回(周一至周五)的名称(DAYOFMONTH)返回的月份的日期(0-31)DAYOFWEEK()回到平日的说法指数(DAYOFYEAR)当天返回的一年(1-366)(摘录)提取部分日期(FROM_DAYS)转换天数日期FROM_UNIXTIME(
3、)日期格式的UNIX时间戳(GET_FORMAT)返回的日期格式字符串HOUR()提取小时LAST_DAY在每月的最后一天返回参数LOCALTIME(),LOCALTIME别名为NOW()LOCALTIMESTAMPLOCALTIMESTAMP()别名为NOW()(MAKEDATE)创建日期从今年年中的一天MAKETIME(MAKETIME)(MICROSECOND)返回参数微秒MINUTE()从参数返回分钟月()返回通过之日起一个月(MONTHNAME)返回该月的名称NOW()返回当前的日期和时间(PERIOD_ADD)添加到一年一个月期间(PERIOD_DIFF)返回期间之间的月数QUAR
4、TER()返回日期参数季度(SEC_TO_TIME)秒转换到HH:MM:SS格式第二()返回秒(0-59)(STR_TO_DATE)转换一个字符串的日期(SUBDATE)DATE_SUB()的同义词时,有三个参数调用(SUBTIME)减去时间SYSDATE()返回函数执行的时间,(TIME_FORMAT)随着时间的格式(TIME_TO_SEC)返回参数转换成秒TIME()通过提取的时间部分的表达timeDiff中()减去时间TIMESTAMP()随着一个参数,这个函数返回的日期或日期时间表达式;两个参数,参数的总和(TIMESTAMPADD)添加时间间隔为datetime表达式(TIMESTA
5、MPDIFF)减去的时间间隔从datetime表达式TO_DAYS()返回日期参数转换为天TO_SECONDS()返回0年以来的秒数转换为日期或日期时间参数UNIX_TIMESTAMP()返回UNIX时间戳(UTC_DATE)返回当前UTC日期(UTC_TIME)返回当前的UTC时间(UTC_TIMESTAMP)返回当前的UTC日期和时间(周)返回的周数周日()返回平日指数(WEEKOFYEAR)返回日期的日历周(0-53)YEAR()返回一年(YEARWEEK)返回年和周下面是一个使用日期函数的例子。下面的查询选择与date_col的值从过去的30天之内的所有行:mysql的SELECT 东
6、西 FROM tbl_name表 - DATE_SUB(CURDATE(),间隔30天):SELECT DAYOFMONTH(2001-11-00),MONTH(2005-00-00); - 0,0其他功能不完整的日期预计完成日期和返回NULL。这些措施包括执行日期运算或日期的名称,地图部件的功能。例如:的mysql SELECT DATE_ADD(2006-05-00,间隔1天); - NULL的mysql:SELECT DAYNAME(2006-05-00); - NULL注意从MySQL 5.5.16到5.5.20,处理的日期相关的断言的变化引起的多种功能,以更加严格的通过日期()函数值
7、作为其参数,并拒绝不完整的日期,用了一天的一部分为零。这些功能由于这种变化总体供货状 态系列MySQL 5.5中的日期处理行为,改变5.5.21恢复。 录入时间(日期,间隔表达式单元),录入(表达式,天)当间隔第二个参数的形式调用,录入()是DATE_ADD()的代名词。相关的功能SUBDATE()DATE_SUB()的代名词。对于在间隔单元参数的信息,请参阅DATE_ADD()的讨论。的mysql SELECT DATE_ADD(2008-01-02,间隔31天); - 2008-02-02mysql SELECT的录入(2008-01-02,间隔31天); - 2008-02-02当天的第
8、二个参数的形式调用时,MySQL将要添加到表达式作为一个整数天数。mysql SELECT的录入(2008-01-02,31); - 2008-02-02 ADDTIME(表达式1,表达式2)录入时间()将表达式2表达式1,返回结果。expr1的是一个时间或日期时间表达式,表达式2是一个时间表达式。mysql SELECT的ADDTIME(2007-12-31 23:59:59.999999,1 1:1:1.000002); - 2008-01-02 01:01:01.000001mysql SELECT的ADDTIME(01:00:00.999999,02:00:00.999998)的; -
9、 03:00:01.999997 CONVERT_TZ(DT,FROM_TZto_tz)CONVERT_TZ()转换给予FROM_TZ时区的datetime值DT给予to_tz的时区,并返回所产生的价值。时区被指定为10.6节,“MySQL服务器时区支持”。如果参数是无效的,这个函数返回NULL。如果该值下降的TIMESTAMP类型支持的范围时,从FROM_TZ转换为UTC,没有发生转换。时间戳范围中描述第11.1.2节“日期和时间类型概述”。mysql SELECT的CONVERT_TZ(2004-01-01 12:00:00,北京时间,MET); - 2004-01-01 13:00:00
10、mysql SELECT的CONVERT_TZ(2004-01-01 12:00:00,+00:00,+10:00); - 2004-01-01 22:00:00注意要使用如“符合”或“欧洲/莫斯科命名的时区,时区表,必须正确设置。参见10.6节,“MySQL服务器时区支持”,说明。 CURDATE()作为一种价值YYYY-MM-DD或YYYYMMDD格式返回当前日期,取决于该函数是在一个字符串或数字上下文中使用。mysql SELECT的CURDATE(); - 2008-06-13的mysql SELECT CURDATE()+ 0; - 20080613 CURRENT_DATE,CUR
11、RENT_DATE()CURRENT_DATECURRENT_DATE()CURDATE(同义词)。 CURRENT_TIME,CURRENT_TIME()CURRENT_TIME和CURRENT_TIME()是CURTIME()的同义词。 CURRENT_TIMESTAMP,CURRENT_TIMESTAMP()CURRENT_TIMESTAMP和CURRENT_TIMESTAMP()的同义词NOW()。 CURTIME()返回当前时间值HH:MM:SS或HHMMSS.uuuuuu格式,这取决于是否使用此函数在一个字符串或数字上下文。该值表示在当前的时区。mysql SELECT的CURTI
12、ME(); - 23:50:26的mysql SELECT CURTIME()+ 0; - 235026.000000 DATE(expr中)提取日期或日期时间表达式expr中的日期部分。mysql SELECT的DATE(2003-12-31 01:02:03); - 2003-12-31 DATEDIFF(表达式1,表达式2)DATEDIFF()返回表达式1-表达式2表示从一个日期的天中的一个值。表达式1和表达式2日期或日期和时间表达式。只有日期部分的值,在计算中使用。的mysql SELECT DATEDIFF(2007-12-31 23:59:59,2007-12-30); - 1的m
13、ysql SELECT DATEDIFF(2010-11-30 23:59:59,2010-12-31); - -31 DATE_SUB(日期,间隔表达式单元)DATE_ADD(日期区间表达式单元),这些函数执行日期运算。日期参数指定起始日期或日期时间值表达式是一个表达式,指定要添加或减去从起始日期间隔值表达式是一个字符串,它可能会开始用“-“表示负间隔。单位是一个关键字表示单位的表达应被解释。间隔关键字和单位符不区分大小写。下表显示了预期的expr的参数形式的每个单元的值。单位价值预期expr的格式MICROSECONDMICROSECONDS第二秒MINUTE分钟小时小时天天周周一个月个月
14、一季宿舍年度年SECOND_MICROSECONDSECONDS.MICROSECONDSMINUTE_MICROSECOND“分:SECONDS.MICROSECONDS的MINUTE_SECOND“分:秒”HOUR_MICROSECOND“小时:分钟:SECONDS.MICROSECONDSHOUR_SECOND“小时:分钟:秒”HOUR_MINUTE小时:分钟DAY_MICROSECOND“日小时:分钟:SECONDS.MICROSECONDSDAY_SECOND天小时:分钟:秒“DAY_MINUTE“天小时:分钟DAY_HOUR天YEAR_MONTH年个月返回值取决于参数: 的DATE
15、TIME如果第一个参数是一个DATETIME或TIMESTAMP值,如果第一个参数是一个日期和单位值用小时,分钟或秒。 否则字符串。为了确保结果是DATETIME,您可以使用CAST()的第一个参数转换成DATETIME。MySQL的允许任何标点分隔符expr的格式。表中显示的是建议的分隔符。如果日期参数是一个DATE值并且你的计算只涉及YEAR,MONTH和DAY部分(即,没有时间部分),结果是一个DATE值。否则,结果是一个DATETIME值。日期算术也可以进行+或-运算符一起使用间隔:日期 + INTERVAL expr的 单元日期 -间隔expr的 单元允许区间表达式单元两侧的“+“操
16、作符的另一边,如果表达式是日期或日期时间值。-运营商,间隔表达式单元只允许在右侧,因为它是没有意义的,要减去的间隔日期或日期时间值。的mysql SELECT 2008-12-31 23:59:59+间隔1秒; - 2009-01-01 00:00:00mysql SELECT的间隔1天+ 2008-12-31; - 2009-01-01mysql SELECT的2005-01-01 -间隔1秒; - 2004-12-31 23:59:59的mysql SELECT DATE_ADD(2000-12-31 23:59:59, - 间隔1秒); - 2001-01-01 00:00:00的mys
17、ql SELECT DATE_ADD(2010-12-31 23:59:59, - 间隔1天); - 2011-01-01 23:59:59的mysql SELECT DATE_ADD(“2100-12-31 23:59:59, - 间隔1:1MINUTE_SECOND); - 2101-01-01 00:01:00mysql SELECT的DATE_SUB(2005-01-01 00:00:00, - 区间1 1:1:1DAY_SECOND),; - 2004-12-30 22:58:59的mysql SELECT DATE_ADD(1900-01-01 00:00:00 - 间隔-1DAY
18、_HOUR); - 1899-12-30 14:00:00mysql SELECT的DATE_SUB(1998-01-02,间隔31天); - 1997-12-02的mysql SELECT DATE_ADD(1992-12-31 23:59:59.000002, - 间隔1 .999999SECOND_MICROSECOND),; - 1993-01-01 00:00:01.000001如果你指定太短的间隔值(不包括所有的间隔部分,将有望从单位关键字),MySQL假设你已经离开的时间间隔值的最左边的部分。例如,如果您指定一个单位DAY_SECOND,expr的价值预计将有天,小时,分钟和秒部
19、分。如果你指定一个值,如1:10,MySQL假设日子和小时部分是丢失的并且值代表分钟和秒。换言之,1:10DAY_SECOND被解释在这样一种方式,它是相等于1:10MINUTE_SECOND的。这是类似于来让MySQL解释TIME值表示经过的时间,而不是一天的时间。因为被视为一个字符串表达式,要小心,如果你指定一个非字符串值间隔。例如,指定的间隔HOUR_MINUTE,6/4的计算结果为1.5000,被视为1个小时,5000分钟mysql SELECT的6/4; - 1.5000的mysql SELECT DATE_ADD(2009-01-01,间隔6/4 HOUR_MINUTE),; -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- mysqlAPI 日期 时间 函数
限制150内