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

日期和时间函数

日期和时间函数
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> SELECT WEEKDAY ('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 );
二月>

四分之一(日期)
在一年的四分之一的时候返回,从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_month years-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> SELECT 1998-01-01 - INTERVAL 1 SECOND;
1997-12-31 -> 23:59:59
MySQL >选择date_add(1997-12-31 23:59:59
间隔- 1秒);
1998-01-01 -> 00:00:00
MySQL >选择date_add(1997-12-31 23:59:59
间隔- 1天);
1998-01-01 -> 23:59:59
MySQL >选择date_add(1997-12-31 23:59:59
1:1区间-> minute_second);
00:01:00 1998-01-01 ->
MySQL >选择date_sub(1998-01-01 00:00:00
区间1:1:1day_second -> 1);
1997-12-30 -> 22:58:59
MySQL >选择date_add(1998-01-01 00:00:00
->区间1 10day_hour);
1997-12-30 -> 14:00:00
MySQL >选择date_sub(1998-01-02
-> 1997-12-02

如果你指定了一个很短的间隔值(不包括所有的间隔部分预期的类型关键字),MySQL假设你错过了区间值最左边的部分。例如,如果一个类型指定为day_second expr的值,然后将包括天、小时、分钟、秒。如果您指定的值一样,换句话说,1:10,1:10的day_second解释为相当于1:10的minute_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年10月星期六
MySQL >选择date_format('1997-10-04 22:23:00 '、' %:%我:%s);
22:23:00
MySQL >选择date_format('1997-10-04 22:23:00,
%1!%一%,%d;
第四SAT 041097277
MySQL >选择date_format('1997-10-04 22:23:00,
%1;
10:23:00 PM 22:23:00 222210 - > 006

MySQL >选择date_format('1999-01-01 '、' %×% V);
199852

在MySQL 3.23中的格式要求,在` %字符修饰。在早期版本的MySQL,` %是可选的。之所以开始的月和日的改性剂从零是在MySQL 3.23中,它允许存储不完整的日期值(如2004-00-00)。

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

CURDATE()
current_date
yyyy-mm-dd'or yyyymmdd格式返回当前日期值,并返回的格式取决于功能是用一个字符串或数字语境:
MySQL >选择CURDATE();
1997-12-15
MySQL >选择CURDATE()+ 0;
> 19971215

curtime()
current_time
返回hh当前时间值:MM:学生或hhmmss格式,和返回的格式取决于函数用于字符串或数字语境:
MySQL >选择curtime();
23:50:26
MySQL >选择curtime()+ 0;
> 235026

(现在)
系统日期()
current_timestamp
当前的日期和时间值是在为HH的返回形式:MM: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可以是一个日期字符串秒数,一个DateTime字符串,一个时间戳,或本地时间显示一收到录取通知时间或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 {,格式})
它返回在为HH型unix_timestamp参数值:MM: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()),
%1:%d %:%1:%1!'';
12月23日03:43:30 1997 - > 1997

sec_to_time(秒)
返回参数转换成秒时每分钟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

相关文章

MySQL中共享两个字段的方法

MySQL中共享两个字段的方法

方法,字段,两个,电脑软件,MySQL,例如:从表中选择(A + B)作为C 类型是varchar型和可显示不正确。 直到concat() 在MySQL的连接功能 以下是在MySQL的连接功能的使用的一个例子,如选择concat(11,'22,分33秒)。 在MySQL的连接功能 使用方法uff1a …

解决大型php文件下载,http下载的详

解决大型php文件下载,http下载的详

文件下载,方法,下载,详细,电脑软件,当出现最近派生的PHP内存溢出问题时,其原因是生成的临时文件下载时间太大,无法容纳PHP内存,比如改变PHP内存限制的想法,但这只是一种延迟策略,因此想到另一种方法是文档读取。下载. 下面是源代码: 复制代码代码…

如何使用FrontPage2003

如何使用FrontPage2003

如何使用,电脑软件,提问者的询问 2009-07-07 16时52分与 我想知道如何排版,也就是说如何把导航分成栏。 声卡故障 硬盘维护培训 回答某人的补充 2009-07-07 17时08分 你可以看看其他人的网页设计,网页制作,主要由排版、页面效果可与PS、Flas…

面对困难!软件安装经典故障

面对困难!软件安装经典故障

故障,软件安装,困难,经典,电脑软件,来源:时间:2005-6-25 BOIS设置 再简单的安装软件,一般都用电脑,但那在大多数人眼里很容易做,但也时不时给你上一课。安装时不能做,你怎么面对呢我收集的软件安装过程中的几个经典故障,希望能对您有所帮助!显示器…

Win8触摸反应慢Win8触摸反应慢(溶液

Win8触摸反应慢Win8触摸反应慢(溶液

溶液,电脑软件,问题: 新的计算机配备Win8系统,采用触摸屏,总体感觉是好的,它是一个触摸反应有点慢,没有智能手机的响应速度。 答案uff1a 为了提高Win8触摸响应速度的参考方法,首先,根据windows键(即与微软小窗口图标按钮的键盘),进入传统桌面,开始>…

对searchnav.exe-使用searchnav是

对searchnav.exe-使用searchnav是

电脑软件,searchnav,exe,点评:searchnav.exe是searchnav相关广告程序。该进程监视你的浏览行为,通过它去分析它的服务器进程也会弹出广告。 进程文件:searchnav或searchnav.exe 进程名称:searchnav间谍 过程类别:安全风险的过程 英文描述: sear…

如何使用USB盘安装Vista

如何使用USB盘安装Vista

安装,如何使用,电脑软件,USB,Vista,如何使用USB盘安装Vista 来源:作者:佚名日期:世界Vista 2007-08-24windows7故障 关键词:Vistawinxp安装 一般来说,安装Windows Vista,你需要使用Windows Vista安装光盘,但是,Windows Vista是一个伟大的操作系统…

设定是setpoint.exe-使用

设定是setpoint.exe-使用

电脑软件,setpoint,exe,评论:详细的介绍了setpoint.exe -设定过程 进程文件:设定值或setpoint.exe 过程名称:罗技设置事件管理器 过程类别:安全风险的过程 英文描述: setpoint.exe是与罗技设定的事件管理相关的过程,设定值,它也被称为对与错。 …

搜狗浏览器无法保存登录密码(解决方

搜狗浏览器无法保存登录密码(解决方

密码,登录,搜狗浏览器,解决方案,电脑软件,问题: 经常使用搜狗高速浏览器,一旦登录到微博,浏览器提示是否保存密码,这一点本网站不再提示;现在,我想再次保存微博密码,节省每次输入密码的麻烦,但我不知道该怎么做 答案uff1a 让搜狗浏览器保存密码恢…

webcolct是webcolct.exe-过程

webcolct是webcolct.exe-过程

过程,电脑软件,webcolct,exe,综述:简要介绍了webcolct.exe - webcolct过程 进程文件:webcolct或webcolct.exe 进程名称:Webcolct 过程类别:安全风险的过程 英文描述: Webcolct.exe是罗技mouseware软件的一部分。过程控制 中文参考: Webcolct.ex…

MySQL存储过程相互调用,并获得错误

MySQL存储过程相互调用,并获得错误

错误,存储过程,相互调用,代码示例,电脑软件,复制代码代码如下所示: MySQL > 分隔符$ $ MySQL > MySQL >创建程序myproc() 修改SQL >数据 ->开始 声明l_status -> varchar(20); -> 叫myproc1(l_status); l_status = 'duplicate entry'then ->如果 …

linux的端口与服务

linux的端口与服务

服务,端口,电脑软件,linux,审查:1。港口与服务的关系 端口号和相应的服务存储在 / /服务等文件,大多数端口可以在这个文件中找到。使用netstat命令 在这个文件中也找到了显示的服务的名称。 我尽量不工作,它应该是无用的。 1。港口与服务的关…