mysql日期转换及加减
日期格式化
date_format(date,’%Y-%m-%d’)(oracle中的to_char())
字符串转日期
str_to_date(date,’%Y-%m-%d’)(oracle中的to_date())
select str_to_date(‘2015-12-26 13:11:32′,’%Y-%m-%d%T’);
——————————————–
2015-12-26 13:11:32
%Y:代表4位的年份
%y:代表2为的年份
%m:代表月, 格式为(01……12)
%c:代表月, 格式为(1……12)
%d:代表月份中的天数,格式为(00……31)
%e:代表月份中的天数, 格式为(0……31)
%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)
日期加减
DATE_ADD(date,INTERVAL expr type)
DATE_SUB(date,INTERVAL expr type)
date是一个datetime或date值,指定起始日期时间;
INTERVAL为关键字;
expr是一个表达式,指定从起始日期加或减的时间间隔值,可以以一个 ‘-’开头表示负值;
type是时间单位,可以复合型的,比如YEAR_MONTH
type说明:
MICROSECOND 间隔单位:毫秒 SECOND 间隔单位:秒 MINUTE 间隔单位:分钟 HOUR 间隔单位:小时 DAY 间隔单位:天 WEEK 间隔单位:星期 MONTH 间隔单位:月 QUARTER 间隔单位:季度 YEAR 间隔单位:年 SECOND_MICROSECOND 复合型,间隔单位:秒、毫秒,expr可以用两个值来分别指定秒和毫秒 MINUTE_MICROSECOND 复合型,间隔单位:分、毫秒 MINUTE_SECOND 复合型,间隔单位:分、秒 HOUR_MICROSECOND 复合型,间隔单位:小时、毫秒 HOUR_SECOND 复合型,间隔单位:小时、秒 HOUR_MINUTE 复合型,间隔单位:小时分 DAY_MICROSECOND 复合型,间隔单位:天、毫秒 DAY_SECOND 复合型,间隔单位:天、秒 DAY_MINUTE 复合型,间隔单位:天、分 DAY_HOUR 复合型,间隔单位:天、小时 YEAR_MONTH 复合型,间隔单位:年、月
如果type为复合型,expr需要用引号把两个参数引起来,中间任意非数字字符间隔即可,且不能使用负数,如’1_2’、’1,2′;
但对于type为复合型,如YEAR_MONTH,expr也可以只指定了一个值,有效单位为后面一个MONTH,效果和type为MONTH相同,且可以使用负数.
例:
1 2 3 4 5 6 7 8 9 10 11 | SELECT date_add('2013-01-18', INTERVAL '1 2' YEAR_MONTH); -- 2014-03-18 SELECT date_add('2013-01-18', INTERVAL '1-2' YEAR_MONTH); -- 2014-03-18 SELECT date_add('2013-01-18', INTERVAL 1 YEAR_MONTH); -- 2013-02-18 SELECT date_add('2013-01-18', INTERVAL -1 YEAR_MONTH); -- 2012-12-18 |
Comments are currently closed.