时间函数公式(时间函数用法)

lxf2023-11-09 05:00:02
bitscn.com MySQL时间处理程序DAYOFWEEK(date)返回日期的星期索引(1=星期日,2=星期一,& hellip7=星期六) 这些索引值对应于ODBC标准 MySQL > select day ofweek(& # 39;1998-02-03');--> 3 WEEKDAY(date)返回日期的周索引(0=星期一,1=星期二,& hellip& hellip6=星期日) mysql >选择工作日(& # 39;1997-10-04 22:23:00');-> 5 mysql >选择工作日(& # 39;1997-11-05');-> 2 DAYOFMONTH(date)返回1到31之间的月份日期。 MySQL > select day of month(& # 39;1998-02-03');--> 3 day ofyear(date)返回一年中日期的天数,范围从1到366。 mysql >选择day ofyear(& # 39;1998-02-03');-> 34 MONTH(date)返回日期的月份,范围从1到12。 mysql >选择月份(& # 39;1998-02-03');-> 2 DAYNAME(date)返回日期的日期名称。 MySQL > select day name(" 1998-02-05 ");-> '周四& # 39;MONTHNAME(date)返回日期的月份名称。 MySQL > select MONTHNAME(" 1998-02-05 ");-> '二月& # 39;QUARTER(date)返回一年中的第几个季度,范围从1到4。 mysql >选择季度(& # 39;98-04-01');-> 2 WEEK(date) WEEK(date,first)对于星期日是一周的第一天的地方,有一个参数返回日期的周数,范围从0到52。 双参数形式WEEK()允许您指定一周是从星期日还是星期一开始。 如果第二个参数为0,则一周从星期日开始,如果第二个参数为1,则从星期一开始。 mysql >选择周(& # 39;1998-02-20');-> 7 mysql >选择周(& # 39;1998-02-20',0);-> 7 mysql >选择周(& # 39;1998-02-20',1);-> 8 YEAR(date)返回日期年份,范围从1000到9999。 mysql >选择年份(& # 39;98-02-03');-> 1998 HOUR(time)返回时间的小时值,范围从0到23。 mysql >选择小时(& # 39;10:05:03');-> 10 MINUTE(time)返回时间的分钟数,范围从0到59。 mysql >选择分钟(& # 39;98-02-03 10:05:03');-> 5 SECOND(time)返回时间的秒数,范围从0到59。 mysql >选择第二个(& # 39;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的格式应为YYYYMM或YYYMM 请注意,期间参数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格式秒秒分钟小时天月年分钟秒。分钟和秒"分钟:秒"小时和分钟"小时:分钟"天_小时天和小时"天小时"年_月年和月"年-月"小时_秒小时,分钟,"小时:分钟:秒"天_分钟天,小时,分钟"天小时:分钟"天_秒天,小时,分钟,秒"天小时:秒小时:分钟" MySQL允许expr格式的任何标点分隔符。 指示显示建议的分隔符。 如果DATE参数是一个日期值,并且您的计算只包含年、月和日部分(即没有时间部分),则结果是一个日期值。 否则,结果是日期时间值。 mysql >选择“1997-12-31 23:59:59”+间隔1秒;-> 1998-01-01 00:00:00 mysql >选择间隔1天+" 1997-12-31 ";-> 1998-01-01 mysql >选择“1998-01-01”-间隔1秒;-> 1997-12-31 23:59:59 MySQL > SELECT DATE _ ADD(" 1997-12-31 23:59:59 ",间隔1秒);-> 1998-01-01 00:00:00 MySQL > SELECT DATE _ ADD(" 1997-12-31 23:59:59 ",间隔1天);-> 1998-01-01 23:59:59 MySQL > SELECT DATE _ ADD(" 1997-12-31 23:59:59 ",间隔" 1:1 "分钟_秒);-> 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 ",间隔31天);-> 1997-12-02 mysql >选择摘录(年份从“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如果指定的间隔值太短(不包括type关键字期望的间隔部分),MySQL会假设您省略了间隔值最左边的部分。 例如,如果指定类型为DAY_SECOND,则expr值应该包含天、小时、分钟和秒。 如果您指定一个类似于“1:10”的值,MySQL会假设缺少日和小时部分,并且这些值表示分和秒。 换句话说,“1:10”DAY _ SECOND被解释为等同于“1:10”MINUTE _ SECOND,这与MySQL解释时间值表示经过的时间而不是一天中的时间的方式有歧义。 如果使用的日期确实不正确,则结果为NULL。 如果您添加了MONTH、YEAR_MONTH或YEAR,并且结果日期大于新月中的最大天数,则将根据新月中的最大天数调整日期。 mysql >选择日期_添加(& # 39;1998-01-30',间隔1个月);-> 1998年2月28日请注意,在前面的示例中,单词INTERVAL和type关键字不区分大小写。 TO_DAYS(date)给出日期并返回天数(从0年开始的天数)。 MySQL > select TO _ DAYS(950501);--> 728779 MySQL >选择TO _ DAYS(& # 39;1997-10-07');-> 729669 TO_DAYS()不打算用来使用公历(1582)之前的值。 FROM_DAYS(N)给出天数N并返回日期值。 MySQL > select FROM _ DAYS(729669);-> '1997-10-07'TO_DAYS()不打算使用公历(1582)之前的值。 DATE_FORMAT(date,FORMAT)根据格式字符串格式化日期值。 可以在格式字符串中使用以下修饰符:%M月份名称(January & hellip& hellip十二月)%W周名称(星期日& hellip& hellip星期六)%D带有英文前缀的月份日期(1日、2日、3日等)。 )%Y year,number,4位数%y year,number,2位数%一个缩写的星期名称(Sun & hellip& hellip星期六)第% d个月的天数,数字(00 & hellip& hellip31)每月% e天,数字(0 & hellip& hellip31) %m月,数字(01 & hellip& hellip12) %c月,数字(1 & hellip& hellip12) %b缩写月份名称(Jan & hellip& hellipDec)一年中的%j天(001 & hellip& hellip366) %H小时(00 & hellip& hellip23) %k小时(0 & hellip& hellip23) %h小时(01 & hellip& hellip12) %I小时(01 & hellip& hellip12) %l小时(1 & hellip& hellip12) %i分钟,数字(00 & hellip& hellip59) %r时间,12小时(hh:mm:ss [AP]M) %T时间,24小时(hh:mm:ss) %S秒(00 & hellip& hellip59) %s秒(00 & hellip& hellip59) %p AM或PM %w天(0 =星期日& hellip& hellip6 =星期六)%U周(0 & hellip& hellip52),这里星期日是第%u周(0 & hellip& hellip52),这里星期一是一周的第一天% % a word & % 所有其他字符被复制到结果中,没有任何解释。 mysql >选择日期格式(& # 39;1997-10-04 22:23:00', '% W % M % Y & # 39);-> '1997年10月星期六& # 39;mysql >选择日期格式(& # 39;1997-10-04 22:23:00', '% H:% I:% s & # 39;);-> '22:23:00'mysql >选择日期格式(& # 39;1997-10-04 22:23:00', '% D % y % a % d % m % b % j & # 39);-> '97年10月4日星期六04日277 & # 39;mysql >选择日期格式(& # 39;1997-10-04 22:23:00', '% H % k % I % r % T % S % w & # 39);-> '22 22 10 10:23:00下午22:23:00 00 6 & # 39;在MySQL3.23中,格式修饰符字符前需要%号。 %在MySQL的早期版本中是可选的。 TIME_FORMAT(time,FORMAT)它的用法与上面的DATE_FORMAT()函数类似,但是格式字符串只能包含那些处理小时、分钟和秒的格式修饰符。 其他修饰符产生空值或0。 CURDATE()当前日期以& # 39;YYYY-MM-DD & # 39;或YYYYMMDD格式,具体取决于函数是用于字符串还是数字上下文。 MySQL > select CURDATE();-> '1997-12-15'MySQL > select CURDATE()+0;-> 1997 12 15 curtime()current _ time with & # 39;HH:MM:SS & # 39;或HHMMSS格式,这取决于函数是在字符串还是数字的上下文中使用。 MySQL > select CURTIME();-> '23:50:26'MySQL > select CURTIME()+0;--> 235026 now()sysdate()current _ timestamp with & # 39;YYYY-MM-DD HH:MM:SS & # 39;或YYYYMMDDHHMMSS格式,这取决于该函数是用于字符串还是数字的上下文中。 MySQL > select NOW();-> '1997-12-15 23:50:26'MySQL > select NOW()+0;-> 19971215235026 Unix _ timestamp(date)返回一个Unix时间戳(from & # 391970-01-01 00:00:00'距离GMT几秒钟) 如果用日期参数调用UNIX_TIMESTAMP(),它将从& # 39;1970-01-01 00:00:00'距离GMT的秒数。 日期可以是日期字符串、日期时间字符串、时间戳或YYMMDD或YYYYMMDD格式的多个本地时间。 MySQL > select UNIX _ TIMESTAMP();-> 882226357 mysql >选择UNIX _ TIMESTAMP(& # 39;1997-10-04 22:23:00');-> 875996580在时间戳列中使用UNIX_TIMESTAMP时,函数会直接接受值,没有隐式& 字符串到unix时间戳变化 FROM_UNIXTIME(unix_timestamp)以& # 39;YYYY-MM-DD HH:MM:SS & # 39;或YYYYMMDDHHMMSS格式返回由unix_timestamp参数表示的值,具体取决于该函数是用于字符串还是数字上下文。 MySQL > select FROM _ UNIX time(875996580);-> '1997-10-04 22:23:00'MySQL > select FROM _ UNIX time(875996580)+0;-> 1997100422300 from _ unix time(UNIX _ timestamp,format)返回一个表示UNIX时间戳的字符串,根据格式字符串进行格式化。 Format可以包含与DATE_FORMAT()函数中列出的条目相同的修饰符。 MySQL > select FROM _ UNIX time(UNIX _ TIMESTAMP(),& # 39;% Y % D % M % h:% I:% s % x & # 39;);-> '1997年12月23日03:43:30 x & # 39;SEC_TO_TIME(seconds)返回秒参数,转换为小时、分钟和秒,值为& # 39;HH:MM:SS & # 39;或HHMMSS格式,这取决于函数是用于字符串还是数字上下文。 MySQL > select SEC _ TO _ TIME(2378);-> '00:39:38'MySQL > select SEC _ TO _ TIME(2378)+0;-> 3938 TIME_TO_SEC(time)返回时间参数并将其转换为秒。 MySQL > select TIME _ TO _ SEC(& # 39;22:23:00');--> 80580 MySQL > select TIME _ TO _ SEC(& # 39;00:39:38');-> 2378bitscn.com adminjs.cn是以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。 我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。 在这个网站中,您可以学习最新的前端开发技术,了解前端开发的最新趋势和最佳实践。 我们提供丰富的教程和案例,让您快速掌握前端开发的核心技术和流程。 Adminjs.cn还提供了一系列实用的工具和插件,帮助你更高效的进行前端开发。 我们提供的工具和插件都是经过精心设计和优化的,可以帮助您节省时间和精力,提高开发效率。 在Adminjs.cn,你可以找到让你成为更优秀的前端开发者所需的所有前端开发资源。 欢迎加入我们的大家庭,一起探索前端开发的无限可能!