`
wangyijiangshui
  • 浏览: 83665 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类

MySQL日期函数

 
阅读更多

1、在指定的日期字段上加上一个时间(包括直接的一个时间、年、月、周、日、时、分、秒等等)。

函数格式为:DATE_ADD(date,INTERVAL expr type),如:
①、在出生日期字段上加1天:DATE_ADD(出生日期,INTERVAL 1 DAY)。
②、在出生日期字段上加1周:DATE_ADD(出生日期,INTERVAL 1 WEEK)。
③、在出生日期字段上加1年:DATE_ADD(出生日期,INTERVAL 1 MONTH)。
其中type取值包括:(汉字前面是关键字,后面表示传入的数据格式)
   SECOND 秒 SECONDS 
 MINUTE 分钟 MINUTES 
 HOUR 时间 HOURS 
 DAY 天 DAYS 
 MONTH 月 MONTHS 
 YEAR 年 YEARS 
 MINUTE_SECOND 分钟和秒 "MINUTES:SECONDS" 
 HOUR_MINUTE 小时和分钟 "HOURS:MINUTES" 
 DAY_HOUR 天和小时 "DAYS HOURS" 
 YEAR_MONTH 年和月 "YEARS-MONTHS" 
 HOUR_SECOND 小时, 分钟, "HOURS:MINUTES:SECONDS" 
 DAY_MINUTE 天, 小时, 分钟 "DAYS HOURS:MINUTES" 
 DAY_SECOND 天, 小时, 分钟, 秒 "DAYS HOURS:MINUTES:SECONDS" WEEK 周 WEEKS

 

2、当前日期

 (1)、获取当前日期(年月日),使用CURDATE() 或者CURRENT_DATE,以'YYYY-MM-DD'或YYYYMMDD格式返回今天日期值,具体采用哪种格式取决于函数是在一个字符串还是数字上下文被使用。 例如:

1、SELECT CURDATE() 
//结果:2013-03-31

2、SELECT CURRENT_DATE 
//结果:2013-03-31

3、SELECT CURDATE() + 3;
//结果:20130334

 (2)获取当前时间(时分秒),使用CURTIME() 或者CURRENT_TIME ,以'HH:MM:SS'或HHMMSS格式返回当前时间值,取决于函数是在一个字符串还是在数字的上下文被使用。 

1、SELECT CURRENT_TIME ;
//结果:17:11:46

2、SELECT CURTIME();
//结果:17:12:25

3、SELECT CURTIME() + 0; 
//结果:171303

 (3)、获取当前时间(年月日时分秒),使用NOW() 或者SYSDATE() ,以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回当前的日期和时间,取决于函数是在一个字符串还是在数字的上下文被使用。

1、SELECT CURRENT_TIMESTAMP ;
//结果:2013-03-31 17:14:37

2、SELECT NOW();
//结果:2013-03-31 17:15:04

3、SELECT NOW() + 0;
//结果:20130331171517

 (4)、获取时间的秒数,使用UNIX_TIMESTAMP() 或者UNIX_TIMESTAMP(date),如果没有参数调用,返回一个Unix时间戳记(从'1970-01-01 00:00:00'GMT开始的秒数)。如果UNIX_TIMESTAMP()用一 个date参数被调用,它返回从'1970-01-01 00:00:00' GMT开始的秒数值。date可以是一个DATE字符串、一个DATETIME 字符串、一个TIMESTAMP或以YYMMDD或YYYYMMDD格式的本地时间的一个数字。

注意:当UNIX_TIMESTAMP被用于一个TIMESTAMP列,函数将直接接受值,没有隐含的“string-to-unix-timestamp”变换。

1、SELECT UNIX_TIMESTAMP();
//结果:1364721417

2、SELECT UNIX_TIMESTAMP('1997-10-04 22:23:00');
//结果:875974980

 

3、日期格式化

(1)、将数据库中datetime、date类型的数据格式化成指定的字符串格式:

DATE_FORMAT(date,format) 
根据format字符串格式化date值。下列修饰符可以被用在format字符串中: 
%M 月名字(January……December) 
%W 星期名字(Sunday……Saturday) 
%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。) 
%Y 年, 数字, 4 位 
%y 年, 数字, 2 位 
%a 缩写的星期名字(Sun……Sat) 
%d 月份中的天数, 数字(00……31) 
%e 月份中的天数, 数字(0……31) 
%m 月, 数字(01……12) 
%c 月, 数字(1……12) 
%b 缩写的月份名字(Jan……Dec) 
%j 一年中的天数(001……366) 
%H 小时(00……23) 
%k 小时(0……23) 
%h 小时(01……12) 
%I 小时(01……12) 
%l 小时(1……12) 
%i 分钟, 数字(00……59) 
%r 时间,12 小时(hh:mm:ss [AP]M) 
%T 时间,24 小时(hh:mm:ss) 
%S 秒(00……59) 
%s 秒(00……59) 
%p AM或PM 
%w 一个星期中的天数(0=Sunday ……6=Saturday ) 
%U 星期(0……52), 这里星期天是星期的第一天 
%u 星期(0……52), 这里星期一是星期的第一天 
%% 一个文字“%”。 
所有的其他字符不做解释被复制到结果中。
MySQL3.23中,在格式修饰符字符前需要%。在MySQL更早的版本中,%是可选的。

 举例:

1、SELECT DATE_FORMAT(`notice_time`, '%Y-%m-%d %H:%i:%s') notice_time FROM tbl_bcall_task;
//结果:2013-03-31 16:47:14

2、select DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y'); 
//结果:Saturday October 1997

3、select DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
//结果:22:23:00

4、select DATE_FORMAT('1997-10-04 22:23:00', '%D %y %a %d %m %b %j');
//结果:4th 97 Sat 04 10 Oct 277

5、select DATE_FORMAT('1997-10-04 22:23:00', '%H %k %I %r %T %S %w');
//结果:22 22 10 10:23:00 PM 22:23:00 00 6

 (2)、如果格式化的是date类型的,格式化字符串中包含时分秒,则默认为0,例如:

SELECT DATE_FORMAT(`ttt`, '%Y-%m-%d %H:%i:%s') ttt FROM tst
//表tst中的ttt字段类型为date类型,结果:2013-03-31 00:00:00

 (3)、将秒数转换成日期,使用FROM_UNIXTIME(unix_timestamp) ,以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回unix_timestamp参数所表示的值,是函数UNIX_TIMESTAMP()的逆操作,取决于函数是在一个字符串还是或数字上下文中被使用。

1、SELECT FROM_UNIXTIME(875974980);
//结果:1997-10-04 22:23:00

2、SELECT FROM_UNIXTIME(875996580) + 0;
//结果:19971005042300

 (4)、将指定的秒数格式化成指定的日期格式(秒数标示:从'1970-01-01 00:00:00'GMT开始的秒数)。

1、SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y %D %M %h:%i:%s %x'); 
//结果:2013 31st March 05:25:06 2013(UNIX_TIMESTAMP()表示从'1970-01-01 00:00:00'GMT开始到当前的秒数)。

2、SELECT FROM_UNIXTIME(1364721998, '%Y-%m-%d %H:%i:%s'); 
//结果:2013-03-31 17:26:38

(5)、将秒数转换成时分秒格式,变换成小时、分钟和秒,值以'HH:MM:SS'或HHMMSS格式化,取决于函数是在一个字符串还是在数字上下文中被使用。  

1、SELECT SEC_TO_TIME(4378);
//结果:01:12:58

2、SELECT SEC_TO_TIME(4378)+0;
//结果:11258

(6)、将时分秒格式的时间转换成秒数。

1、SELECT TIME_TO_SEC('22:23:00');
//结果:80580

2、SELECT TIME_TO_SEC('00:00:38'); 
//结果:38

  

 

4、时间格式化

主要用于处理日期中的时分秒一下的时间,不包括年月日部分,如果在结果中包含,则默认用0填充,例如(所用格式化修饰符与DATE_FORMAT一样):

1、SELECT TIME_FORMAT(NOW(),'%H:%i:%s') 
//结果:17:03:02

2、SELECT TIME_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s') 
//结果:SELECT TIME_FORMAT(NOW(),'%H:%i:%s') 

 

 

 

分享到:
评论

相关推荐

    MYSQL 日期函数大全

    MYSQL 日期函数大全,供大家一起共同分享学习。

    mysql日期函数

    mysql日期函数 mysql日期函数 mysql日期函数 mysql日期函数 mysql日期函数

    mysql 日期函数

    mysql数据库的日期函数用法,很详细的

    mysql 日期函数相关操作

    mysql 日期 函数 日期函数 Mysql的日期函数操作

    mysql日期函数总结

    总结的mysql日期函数,日期转换,非常实用的开发文档

    MySQL日期时间函数大全

    MySQL 日期时间函数大全 在 MySQL 中,日期时间函数是非常重要的一部分,它们可以帮助我们对日期和时间进行各种操作。下面我们将对 MySQL 中的日期时间函数进行详细的讲解。 DAYOFWEEK(date) `DAYOFWEEK` 函数...

    mysql日期函数时间函数及加减运算

    MySQL日期数据类型、MySQL时间类型使用总结,适用于 MySQL 5.X 及以上版本

    mysql时间日期函数

    mysql时间日期函数

    mysql 日期函数.txt

    1. 2.DAYOFWEEK(date) 3.WEEKDAY(date) 4.DAYOFMONTH(date) 5.DAYOFYEAR(date) 6.MONTH(date) 7.DAYNAME(date) 8.MONTHNAME(date) 9.QUARTER(date) 10.WEEK(date) WEEK(date,first) ...28.TIME_TO_SEC(time)

    MySQL 日期时间函数常用总结

    获得当前日期+时间(date + time)1.1 函数:now()  相关函数:current_timestamp(),localtime(),localtimestamp()  举例说明:  2. 获得当前日期(date)  函数:curdate()  相关函数:current_date()...

    MySQL日期函数与日期转换格式化函数大全

    Mysql作为一款开元的免费关系型数据库,用户基础非常庞大,本文列出了MYSQL常用日期函数与日期转换格式化函数

    MySQL常用函数

    包含了MySQL常用的所有函数及详解。IFNULL(expr1,expr2),FROM_UNIXTIME。

    mysql的日期和时间函数.rar

    mysql的日期和时间函数

    MySQL内置函数中的日期和时间函数详解.pdf

    MySQL内置函数中的日期和时间函数详解.pdf

    mysql中取系统当前时间,当前日期方便查询判定的代码

    获取当前时间的MySql时间函数处理MySql时间日期的函数有很多,下面为您介绍的就是用于获取当前时间的MySql时间函数,如果您对此感兴趣的话,不妨一看下面为您介绍的MySql时间函数用于获取当前时间,该MySql时间函数...

    MySql常用函数大全讲解

    MySql常用函数大全讲解,数学函数 字符串函数 日期和时间函数 条件判断函数 系统信息函数 加密函数 格式化函数

    mysql内部函数

    日期和时间函数 MySQL使用什么日历? 全文搜索功能 . 布尔全文搜索 . 全文搜索带查询扩展 . 全文停止字 . 全文限定条件 . 微调MySQL全文搜索 Cast函数和操作符 其他函数 . 位函数 . 加密函数 . 信息函数 ...

    MySQL 基础 - 日期函数.md

    通过这份文档,您可以学习并掌握MySQL数据库中常用的日期函数的使用方法。每个函数都通过示例代码展示了其作用和输出结果,帮助您更好地理解和运用这些函数。 这些日期函数的使用广泛,适用于各种日期处理和计算...

Global site tag (gtag.js) - Google Analytics