mysql add days_MySQL 时间函数

A. timestampdiff() 传三个参数,第一个时间类型如年,月,日,第二个开始时间,第三个结束时间

select test_name, timestampdiff(YEAR,create_time,end_time) y_date from test_table; --计算时间

+-----------+--------+

| test_name | y_date |

+-----------+--------+

| 哈罗德 | 29 |

| 哈罗德 | 17 |

| 格温 | 13 |

| 班尼 | 110 |

+-----------+--------+

B. INTERVAL n day day还可以替换为年月等

select now()+ INTERVAL 1 day; --表示明天

+-----------------------+

| now()+ INTERVAL 1 day |

+-----------------------+

| 2018-12-07 09:52:03 |

+-----------------------+

C. last_day() 括号内加个时间日期,表示月末

select last_day(now()); --表示月末

+-----------------+

| last_day(now()) |

+-----------------+

| 2018-12-31 |

+-----------------+

D. extract(day from now()) 表示某月第几天,day 还可以替换为year,month 等

select date_sub(date(now()),interval extract(day from now()) - 1 day) as 'month_firstday'; 月初

+----------------+

| month_firstday |

+----------------+

| 2018-12-01 |

+----------------+

E. date_format() 把一个日期/时间转换成各种各样的字符串格式

select date_format(now(),'%Y-%m-%d %h:%i:%s'); %Y:年,% m:月, %M:英文月,%d: 日, %D :英文日, %h:小时,%H:24小时制,%i:分钟,%s:秒

+----------------------------------------+

| date_format(now(),'%Y-%m-%d %h:%i:%s') |

+----------------------------------------+

| 2018-12-06 10:28:04 |

+----------------------------------------+

F. str_to_date() 把一个字符串格式日期/时间转换成时间

select str_to_date('07.10.2017 08:09:30', '%m.%d.%Y %h:%i:%s') as st_to_d;

+---------------------+

| st_to_d |

+---------------------+

| 2017-07-10 08:09:30 |

+---------------------+

1 row in set (0.06 sec)

G. date_add(),date_sub()

select date_add(now(), interval 1 day) as add_day; 加一天, 表示明天

+---------------------+

| add_day |

+---------------------+

| 2018-12-07 10:46:50 |

+---------------------+

1 row in set (0.00 sec)

select date_add(now(), interval 1 day) as add_day; 减一天,表示昨天

+---------------------+

| sub_day |

+---------------------+

| 2018-12-05 10:48:48 |

+---------------------+

1 row in set (0.00 sec)

H. select week(now()); 年中第几周

select quarter(now()); 季度

select dayofweek(now()); 一周中第几天

select dayofmonth(now()); 一个月第几天

select dayofyear(now()); 一年第几天

show variables like 'lc_time_names';

select dayname(now()),monthname(now()); 英文周几,英文月份

+----------------+------------------+

| dayname(now()) | monthname(now()) |

+----------------+------------------+

| Thursday | December |

+----------------+------------------+

set lc_time_names='zh_CN'; 时间名称改为中文

+----------------+------------------+

| dayname(now()) | monthname(now()) |

+----------------+------------------+

| 星期四 | 十二月 |

+----------------+------------------+

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值