mysql记录时间_MySQL学习记录--操作时间数据

date_add() : 可以为指定日期增加/减少任意一段时间间隔。下面举例将当前日期增加一个月和减少一个月

mysql> select date_add(current_date(), interval 1 month) asadd_one_month;+---------------+

| add_one_month |

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

| 2016-12-30 |

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

1 row in set (0.00sec)

mysql> select date_add(current_date(), interval -1 month) asreduce_one_month;+------------------+

| reduce_one_month |

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

| 2016-10-30 |

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

1 row in set (0.00 sec)

格式:date_add(‘要修改的时间‘,interval 数量 时间间隔类型), 下面展示一些常见的时间间隔类型

间隔名称

描述

Second

秒数

Minute

分钟数

Hour

小时数

Day

天数

Month

月份

Year

年份

Minute_second

分钟和秒,以":"分隔

Hour_second

小时、分钟和秒,以":"分隔

Year_month

年份和月份,以"-"分隔

下面对时间间隔后三种举例:

①、将当前时间增加3小时20分钟

mysql> select current_timestamp;  -- 当前时间+---------------------+

| current_timestamp |

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

| 2016-11-30 15:22:46 |

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

1 row in set (0.00sec)

mysql> select date_add(current_timestamp, interval ‘3:20:00‘ Hour_second) asadd_HourSecond;+---------------------+

| add_HourSecond |

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

| 2016-11-30 18:42:49 |

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

1 row in set (0.00 sec)

②、将日期‘2000-01-01‘增加16年10个月

mysql> select date_add(‘2000-01-01‘, interval ‘16-10‘ Year_month) asadd_Year_month;+----------------+

| add_Year_month |

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

| 2016-11-01 |

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

1 row in set (0.00 sec)

函数last_day() : 返回所求月份的最后一天

举例:求"2016-01-01"该月的最后一天

mysql> select last_day(‘2016-01-01‘);+------------------------+

| last_day(‘2016-01-01‘) |

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

| 2016-01-31 |

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

1 row in set (0.00 sec)

无论提供的参数是date型还是datetime型,last_day()函数都将返回一个date值

2、返回字符串的时间函数

dayname() :返回所求的日期是星期几

举例:求当前日期是星期几

mysql> select dayname(current_date);+-----------------------+

| dayname(current_date) |

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

| Wednesday |

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

1 row in set (0.00 sec)

year()、month()、day()、time()...提取部分时间

mysql> select year(current_date),month(current_date),day(current_date),time(current_timestamp);+--------------------+---------------------+-------------------+-------------------------+

| year(current_date) | month(current_date) | day(current_date) | time(current_timestamp) |

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

| 2016 | 11 | 30 | 16:12:57 |

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

1 row in set (0.00 sec)

3、返回数字的时间函数

datediff() : 计算两个日期相隔的天数

举例:计算"2000-01-01"距离现在有多少天

mysql> select datediff(‘2016-11-30‘, ‘2000-01-01‘);+--------------------------------------+

| datediff(‘2016-11-30‘, ‘2000-01-01‘) |

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

| 6178 |

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

1 row in set (0.00 sec)

注:datediff()函数会忽略参数中的时钟值。

sql server 同样具备datediff()函数,但可以在指定时间间隔的类型(如年、月、日、小时等)。sql server 实现上一个例子的方法:

select datediff(day, ‘2016-11-30‘, ‘2000-01-01‘);

MySQL学习记录--操作时间数据

标签:blog   log   定时   ext   timestamp   last   计算   strong   nes

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://www.cnblogs.com/technologylife/p/6118352.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值