当前位置:首页 > 日记 > 正文

mysql的日期和时间函数

mysql的日期和时间函数
以下查询选择的最后30天,所有date_col值。

MySQL >选择什么tbl_name
在(to_days)(现在)- to_days(date_col)< = 30;
周(日)
返回日期索引(1 =星期日,2 =星期一),…7 =星期六)索引值与ODBC标准一致。
>选择MySQL DayOfWeek('1998-02-03);
> 3
工作日(日期)
返回日期索引(0 =星期一,1 =星期二),…6 =星期日):
MySQL >选择工作日('1998-02-03 22:23:00);
> 1
MySQL >选择平日('1997-11-05);
> 2
dayofmonth(日期)
返回日期是一个月的第一天,范围是1到31:
MySQL >选择dayofmonth('1998-02-03);
> 3
dayofyear(日期)
返回日期是一年中的第一天,范围是1到366:
MySQL >选择dayofyear('1998-02-03);
> 34
月份(日期)
返回当月,从1到12不等:
MySQL >选择月份('1998-02-03);
> 2
dayname(日期)
返回日期的周名称:
MySQL >选择dayname(1998-02-05 );
-> '星期四'
名(日期)
返回日期的月份名称:
MySQL >选择名(1998-02-05 );
-> 'february
四分之一(日期)
在一年的四分之一的时候返回,从1到4:
MySQL >选择季度('98-04-01);
> 2
星期(日期)
周(日期,第一)
星期日是一周的第一天,如果调用函数的一个参数,它返回的日期为今年的前几周,和返回值是0到53(是的,有可能是第五十三周开始),一周两参数形式()允许您指定是否一个周开始在星期日或星期一,和返回值是0-53或1-52。这里的表格给出了二参数工作的价值意义
0个星期的星期日开始,和返回值是0-53
1个星期的星期一开始,和返回值是0-53
2个星期的星期日开始,和返回值是1-53
3周的星期一开始有1-53返回值(ISO 8601)。

MySQL >选择周('1998-02-20);
> 7
MySQL >选择周('1998-02-20 ',0);
> 7
MySQL >选择周('1998-02-20 ',1);
> 8
MySQL >选择周('1998-12-31 ',1);
> 53
请注意,在4版本中,周(#,0)更改以匹配美国日历。注意,如果一个星期是在去年的最后一周,当你不使用2或3作为一个可选的参数,MySQL将返回0:
MySQL >选择年('2000-01-01),周('2000-01-01 ',0);
> 2000, 0
MySQL >选择周('2000-01-01 ',2);
> 52
你可能认为,MySQL应该返回52周()函数在给定日期值实际上是1999的第五十二周的一部分,我们决定返回0,因为我们希望函数返回指定年份中接下来的几周,这使本周()函数时,使用可靠这是用在与其他提取日期值月值的功能组合。如果你想获得相应的年度周的价值,你应该使用参数2或3作为一个可选的参数,或使用功能yearweek():
MySQL >选择yearweek('2000-01-01);
> 199952
MySQL >选择中(yearweek('2000-01-01 '),5);
> 52
年份(日期)
返回日期年份,从1000到9999不等:
MySQL >选择年('98-02-03);
> 1998
yearweek(日期)
yearweek(日期,第一)
返回日期值的哪一周,第二个参数的形式和功能与第二个星期(第二个参数)完全相同。注意,给定日期参数是一年的第一个或最后一周,返回值可能与日期参数所给出的年份不一致:
MySQL >选择yearweek('1987-01-01);
> 198653
请注意,对于可选参数0或1,周值的返回值不同于周()函数的返回值(0),而星期()根据给定的年上下文返回每周值。
小时(时间)
返回每小时的时间值,从0到23不等:
MySQL >选择小时('10:05:03);
> 10
分钟(时间)
返回时间的分钟值,从0到59不等:
MySQL >选择分钟('98-02-03 10:05:03);
> 5
第二(时间)
返回时间的第二个值,从0到59不等:
MySQL >选择二('10:05:03);
> 3
period_add(p,n)
添加N个月时间P(格式输入时间或yyyymm)。返回yyyymm格式的值。注意周期参数P不是一个日期值:
MySQL >选择period_add(9801,2);
> 199803
period_diff(P1,P2)
返回period.p1和P2在P1和P2之间的月数应该由输入时间或yyyymm指定。注意周期参数P1和P2不是日期值:
MySQL >选择period_diff(9802199703);
> 11
date_add(日期、时间间隔表达式类型)
date_sub(日期、时间间隔表达式类型)
adddate(日期、时间间隔表达式类型)
subdate(日期、时间间隔表达式类型)
这些功能的执行date.adddate算术运算()和()subdate是同义词date_add()和(),分别date_sub。在MySQL 3.23中,如果表达式的右侧是一个日期值或日期时间型字段,你可以使用C++而不是date_add()和date_sub()。参数的日期是日期或日期值指定一个日期开始。expr是一个表达式,指定或减去区间值从开始日期。一个表达式是一个字符串;它可以用一个单一的领导代表负区间值。类型是一个关键的词,是表达被解释格式。下表显示的类型和表达式参数有关:格式的类型值expr预期
二秒
分钟分钟
小时小时
一天的日子


minute_second分:秒
hour_minute 小时:分钟
day_hour 天时
year_monthyears-months
hour_second 小时:分钟:秒
day_minute日小时:分钟
day_second日小时:分钟:秒
在expr格式,MySQL允许任何字符作为分隔符。该分隔字符如下表所示。如果日期参数是一个日期值和计算的时间间隔只有一年,月和日的部分(没有时间的部分),然后返回值也是一个日期值,否则返回值是一个DateTime值:
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 >选择date_add(1997-12-31 23:59:59
1998-01-01 -> 00:00:00
MySQL >选择date_add(1997-12-31 23:59:59
1998-01-01 -> 23:59:59
MySQL >选择date_add(1997-12-31 23:59:59
00:01:00 1998-01-01 ->
MySQL >选择date_sub( 1998-01-01 00:00:00
1997-12-30 -> 22:58:59
MySQL >选择date_add( 1998-01-01 00:00:00
1997-12-30 -> 14:00:00
MySQL >选择date_sub(1998-01-02
-> 1997-12-02
如果你指定了一个很短的间隔值(不包括所有的间隔部分预期的类型关键字),MySQL假设你错过了区间值最左边的部分。例如,如果一个类型指定为day_second expr的值,然后将包括天、小时、分钟、秒。如果你指定一个值如1:10换句话说,1:10day_second解释为相当于1:10minute_second.this相似的时候,MySQL的说明时间价值通过时间,不是一天。注意,如果作为区间包含一个日期的增加或减少一部分时间,日期值会自动转换为日期和时间值:
MySQL >选择date_add(1999-01-01
-> 1999-01-02
MySQL >选择date_add(1999-01-01
1999-01-01 -> 01:00:00
如果你使用一个不正确的日期,返回为空。如果你增加一个月,year_month或年和日期比新的月份天数最多的,它将被调整到新的月份天数最多。
MySQL >选择date_add('1998-01-30,间隔1个月);
-> 1998-02-28
注意,在上面的例子中,单词间隔和关键字类型不是区分字母大小写的。

提取(日期类型)
提取()函数使用间隔是一致的date_add类型()或()date_sub,但它是用来指定代替日期的算术运算的日期中提取的部分。
MySQL >选择提取(从1999-07-02年);
> 1999
MySQL >选择提取(year_month从1999-07-02 01:02:03 );
> 199907
MySQL >选择提取(day_minute从1999-07-02 01:02:03 );
> 20102
to_days(日期)
给出一个日期,并返回若干天(从0年开始的天数):
MySQL >选择to_days(950501);
> 728779
MySQL >选择to_days('1997-10-07);
> 729669
to_days()不打算使用价值先于格雷戈瑞历(现行公历)(1582),因为它不考虑天数时丢失的日历的改变。

from_days(N)
给定n天数,并返回日期值:
MySQL >选择from_days(729669);
-> '1997-10-07
from_days()不打算用之前的格雷戈瑞日历的价值(1582),因为它不考虑天数时丢失的日历的改变。

date_format(日期格式)
根据格式字符串格式化日期值。可以在格式字符串中使用以下修饰符:修饰符的含义
月(一月十二月)的名称
每周的名字(星期日星期六)
%d有一个英文后缀为几天的一个月(零,第一,第二,第三等)。
y年份,数字,4位
y年份,数字,2位
一周中,星期日是一周的第一天,数字,4,用V
一周中,星期一是一周的第一天,数字,4,用V
%1缩写的名称(Sun……)
在%d个月的天数,数字(00…31)
月份的天数,数字(0…31)
百个月,数字(00…12)
C个月,数字(0…12)
%1缩写的月份名称(1月12日)
j一年中的天数(001…366)
小时(00…23)
k小时(0…23)
小时(01…12)
% i小时(01…12)
l小时(1…12)
%分钟,数字(00…59)
时间,12小时(HH:毫米:SS)
时间,24小时
%s秒(00…59)
%s秒(00…59)
上午或下午
一周的天数(0 =星期日,6 =星期六)
%周(00…53),星期日是一周的第一天。
%周(00…53),星期一是一周的第一天。
第五周(01…53),星期日是一周的第一天。
第五周(01…53),星期一是一周的第一天。
一个字母% %
所有其他字符直接复制到结果而不作解释。
MySQL >选择date_format('1997-10-04 22:23:00 '、' % W m个Y);
十月星期六- 1997
MySQL >选择date_format('1997-10-04 22:23:00 '、' %:%我:%s);
-> '22:23:00
MySQL >选择date_format('1997-10-04 22:23:00 '、' % % % % %一% D M B J);
97坐0410 Oct 277 - > '4th
MySQL >选择date_format('1997-10-04 22:23:00 '、' % H K我% R% T S W);
2210 10:23:00 PM -> '22 22:23:00 00 6
MySQL >选择date_format('1999-01-01 '、' %×% V);
1998 - 52
在MySQL 3.23中的格式要求,在` %字符修饰。在早期版本的MySQL,` %是可选的。之所以开始的月和日的改性剂从零是在MySQL 3.23中,它允许存储不完整的日期值(如'2004-00-00)。

time_format(时间格式)
其用法类似于date_format()函数,但格式字符串只包含格式修饰符时,分,秒,其他改性剂的使用将产生一个空值或0。

CURDATE()
current_date
返回当前日期值in'yyyy-mm-dd'or yyyymmdd格式,并返回的格式取决于功能是用一个字符串或数字语境:
MySQL >选择CURDATE();
-> '1997-12-15
MySQL >选择CURDATE()+ 0;
> 19971215
curtime()
current_time
返回当前时间值in'hh:MM:ss'or hhmmss格式,并返回的格式取决于功能是用一个字符串或数字语境:
MySQL >选择curtime();
-> '23:50:26
MySQL >选择curtime()+ 0;
> 235026
(现在)
系统日期()
current_timestamp
当前的日期和时间值返回in'yyyy-mm-dd HH:毫米:ss'or yyyymmddhhmmss格式。返回的格式取决于函数是否在字符串或数字上下文中使用。
选择现在();
1997-12-15 -> 23:50:26
选择现在()+ 0;
> 19971215235026
注意,函数()只在每个查询中计算一次,也就是说,当查询开始执行时,也就是说,如果现在()在单个查询中多次引用,它只会为所有的值提供相同的时间。

unix_timestamp()
unix_timestamp(日期)
如果没有参数时调用,返回在无符号整数形式的Unix时间戳(秒数从'1970-01-01 00:00:00'gmt)。如果unix_timestamp()调用时的参数,它返回的参数值从'1970-01-01 00:00:00' gmt.date秒数可以是一个日期字符串一个字符串,日期,时间,或本地时间显示一收到录取通知时间或YYYYMMDD:
MySQL >选择unix_timestamp();
> 882226357
MySQL >选择unix_timestamp('1997-10-04 22:23:00);
> 875996580
当unix_timestamp应用时间戳列,函数返回直接代替一个隐式字符串Unix时间戳转换内部的时间戳值。如果你把一个日期参数超出范围unix_timestamp(),它将返回0,但注意,MySQL只对其进行了基本的测试(年度范围1970-2037,月01-12,日期01-31)。如果你想减掉的unix_timestamp()列,你需要给力的结果为一个有符号整数。看第6.3.5投功能。

FROM_UNIXTIME (unix_timestamp {, format})
它返回一个unix_timestamp参数值in'yyyy-mm-dd HH:毫米:ss'or yyyymmddhhmmss格式,以及返回值的形式取决于函数中使用字符串或数字语境。如果格式是给定的,返回值是根据格式字符串格式化,格式可以包含相同的改性剂为date_format()函数。
MySQL >选择from_unixtime(875996580);
1997-10-04 -> 22:23:00
MySQL >选择from_unixtime(875996580)+ 0;
> 19971004222300
MySQL >选择from_unixtime(unix_timestamp(),% % % Y M H:%我:%s X);
12月23日03:43:30 1997-> '1997
sec_to_time(秒)
返回参数秒转换为时间二值after'hh:MM:ss'or hhmmss格式,表格的返回值取决于使用的字符串或数字语境的功能:
MySQL >选择sec_to_time(2378);
-> '00:39:38
MySQL >选择sec_to_time(2378)+ 0;
> 3938
time_to_sec(时间)
将参数时间转换为秒数和返回数:
MySQL >选择time_to_sec('22:23:00);
> 80580
MySQL >选择time_to_sec('00:39:38);
> 2378

相关文章

是aelaunch.exe过程安全吗是aelaun

是aelaunch.exe过程安全吗是aelaun

进程,过程,电脑软件,aelaunch,exe,点评:aelaunch.exe是飞利浦声学边缘声音相关的应用程序托盘的方法 进程文件:aelaunch或aelaunch.exe 进程名称:aelaunch 过程类别:安全风险的过程 英文描述: aelaunch.exe是音频应用发射器trabar过程。它给 …

用cgroups限制CPU资源的情况下在Li

用cgroups限制CPU资源的情况下在Li

情况下,电脑软件,cgroups,CPU,Linux,点评:本文主要介绍了利用Linux cgroups限制CPU资源的例子,可以避免占用CPU资源的过程,和一个朋友可以参考一下。 这一次说的是如何通过C组管理CPU资源。首先,控制进程的CPU使用,运行多个程序可能会消耗大量的…

USB/U盘文件乱码修复乱码文件(方案)

USB/U盘文件乱码修复乱码文件(方案)

文件,方案,乱码,电脑软件,USB,问题: 最近,一些信息变得一团糟。认为是中毒,用杀毒软件清除毒,也没有呈现病毒,这是什么情况 答案uff1a U盘中毒的乱码文件引起的。如果你没有病毒,可能是文件分配表。U盘U盘,造成这种情况,原因如下: 1、平时不要插U…

Oracle的日期函数

Oracle的日期函数

日期函数,电脑软件,Oracle,您正在查看的Oracle过程是Oracle日期函数。 oracle中的日期有很多功能, 如: 1、(add_months)增加或减少月数的日期date_value值:= add_months(date_value,number_of_months):SQL >选择add_months(SYSDATE,12)从明年双;明年04 S…

PHP对象-访问修饰符的介绍

PHP对象-访问修饰符的介绍

访问修饰符,对象,电脑软件,PHP,PHP中有三个访问修饰符,它们是: 公共(公共,默认) 受保护的(受保护的) 私人(私人) 它们可以分别用于类的属性和方法(类的属性和方法称为类的成员),并用于修改类成员的访问权限。 公共(公共,默认) 在PHP5中,如果类没有指定成…

服务器:无法确定服务器的完全合格的

服务器:无法确定服务器的完全合格的

服务器,合格,电脑软件,注释:在主机中丢失主机名 localhost.localdomain localhost 127.0.0.1的主机名 三个主机名可以更改为同一个 主机名丢失在 localhost.localdomain localhost 127.0.0.1的主机名 三个主机名可以更改为同一个…

wlancfg5.exe的过程是怎样的

wlancfg5.exe的过程是怎样的

的是,过程,是怎样,电脑软件,exe,评论:对wlancfg5.exe工艺简介 进程文件:wlancfg5或wlancfg5.exe 过程名称:网件智能配置模块 过程类别:安全风险的过程 英文描述: wlancfg5.exe是一个过程,属于网件智能配置模块和提供这些设备的额外的配置选项。…

使用谷歌DNS8.8.8.8会导致下载慢下

使用谷歌DNS8.8.8.8会导致下载慢下

下载,慢下来,电脑软件,在测试过程中,核心技术人员发现,如果用计算机的DNS服务由谷歌提供(8.8.8.8和8.8.4.4)作为系统默认的DNS服务器,下载速度会明显减慢。 通过对技术人员的分析,发现当使用谷歌DNS时,在多资源索引检索时,迅雷客户端返回了联通网络…

如何向朋友询问QQ空间音乐

如何向朋友询问QQ空间音乐

音乐,空间,朋友,电脑软件,QQ,如何向朋友询问QQ空间音乐 第一步:在音乐库中找到你喜欢的音乐,点击歌曲右边的音乐服务按钮; 第二步:请QQ好友(朋友/朋友单独),点击确认; 让路 礼品数量 使用时间长度 评论 免果岭费 1次 31 days 同一首歌已多…

shwiconem是shwiconem.exe-使用

shwiconem是shwiconem.exe-使用

电脑软件,shwiconem,exe,评论:详细的介绍了shwiconem.exe - shwiconem过程 进程文件:shwiconem或shwiconem.exe 过程名称:数字媒体USB读写器助手 过程类别:安全风险的过程 英文描述: shwiconem.exe是一个过程,安装在USB读卡器和数字媒体提供这…

Windows去Win8将被加载到U盘使用US

Windows去Win8将被加载到U盘使用US

加载,将被,环境,电脑软件,Windows,点评:使用Windows 8企业版的Windows上的功能,用户可以提供一个高速USB容量Win8环境,当USB插头的电脑可以使用PC的CPU和内存,不会影响电脑硬盘或数据 byod的(带上你自己的设备)的工作模式,是当前的一个发展趋势,但…

几种PHP使用Smarty的相关记录和访

几种PHP使用Smarty的相关记录和访

变量,几种,电脑软件,Smarty,PHP,三美元=新(Smarty); / /创建Smarty对象,我用smarty-3.1.6版 1。设置模板路径为TPL -> settemplatedir();默认情况下,模板 2。设置Smarty模板编译路径三美元-> setcompiledir();默认情况下,templates_c 三.设置左、右隔板…