MySQL学习记录--操作时间数据
1、返回日期的时间函数
date_add() : 可以为指定日期增加/减少任意一段时间间隔。下面举例将当前日期增加一个月和减少一个月
mysql> select date_add(current_date(), interval 1 month) as add_one_month;
+---------------+
| add_one_month |
+---------------+
| 2016-12-30 |
+---------------+
1 row in set (0.00 sec) mysql> select date_add(current_date(), interval -1 month) as reduce_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.00 sec) mysql> select date_add(current_timestamp, interval '3:20:00' Hour_second) as add_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) as add_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学习记录--操作时间数据的更多相关文章
- 我的MySQL学习记录 完结篇DAY05~
课程已全部学完,Redis\mongoDB 的学习也会提上日程啦~剩下的最大的最大的问题在于练习,大量的练习,后期会发我的学习记录. 小记:也不知道是不是加强针的缘故,老是拉肚子,记录彻底感冒的一天, ...
- MySQL学习记录--生成时间日期数据
时间数据格式组件: 组件 定义 范围 YYYY 年份,包括世纪 1000~9999 MM 月份 01(January)~12(December) DD 日 01~31 HH 小时 00~23 HHH ...
- Mysql --学习:大量数据快速导入导出
声明:此文供学习使用,原文:https://blog.csdn.net/xiaobaismiley/article/details/41015783 [实验背景] 项目中需要对数据库中一张表进行重新设 ...
- Mysql 学习记录
( xampp 的mysql 与 直接用 dnf 安装的 mysql 有冲突! ) 1. 数据库基本知识: 一张表的行 又称为 记录 一张表的列 又称为 字段 表结构:所有字段,规定了你的每一条记录所 ...
- mysql学习记录
干净卸载mysql:https://blog.csdn.net/cxy_summer/article/details/70142322mysql 解压缩版安装说明:https://jingyan.ba ...
- mysql学习笔记一 —— 数据的增删改查
1.连接mysql mysql 直接回车(是以root身份,密码空,登陆的是本机localhost) [root@www mysql]# mysql -uroot -p123 -S /var/lib/ ...
- MySQL学习记录一
1.MySQL join操作 left join以左表为基础,其记录会全部表示出来,而右表只显示满足搜索条件的记录.right join以右表为基础,其记录会全部显示出来,而左表只显示满足搜索条件的记 ...
- MySQL学习记录(导入Excel表到数据库,并筛选条件输出)
附上:重置mysql账号密码方法 ubuntu系统下mysql重置密码和修改密码操作 - skh2015java的博客 - CSDN博客(改完重启,登录mysql要root/sudo权限) Cento ...
- mysql学习记录(一)
#打开MySQL服务 sudo service mysql start #Ubuntu Linux 安装配置MySQL #安装MySQL服务器,核心程序 sudo apt-get install my ...
随机推荐
- 当java出现异常,应如何进行处理
Java异常是一个描述在代码段中发生的异常(也就是出错)情况的对象.当异常情况发生,一个代表该异常的对象被创建并且在导致该错误的方法中被抛出(throw).该方法可以选择自己处理异常或传递该异常.两种 ...
- [SQL入门级] 上篇被移出园子首页,那这篇咱就'薄利多销'
这个系列的博文知识回顾sql知识作的记录,温故而知新.上一篇内容达不到知识分享的层级被移出园子首页,对不住各位看官,内容简单了些.下面咱就记录多一些的基础知识,薄利多销: 控制用户权限 • 创建用户 ...
- vs加js引用
今天又有一个同事问我“在VS中如何让一个JS文件智能提示另一个JS文件中的成员”,他说Google了一下,并没有找到答案,然后我把这个小技巧贴出来,希望能被Google到. 有时候会有这种情况:当我的 ...
- eclipse中配置maven
http://jingyan.baidu.com/article/db55b609a994114ba20a2f56.html
- css样式控制 字符个数,多余的字用省略号代替
大家好,我是小菜 前端 ,技术不高,正在努力中充电!希望大家多多指教 <div class="show">大家好,我是小菜 前端 ,技术不高,正在努力中充电!希望大家多 ...
- 使用JDOM操作XML
JDOM介绍 JDOM是使用Java语言编写的,用于读写及操作XML的一套组件,Jdom同时具有DOM修改文件的优点和SAX读取快速的优点. JDOM的使用 首先下载JDOM的JAR包,本文使用的是j ...
- 如何利用【DataTable】结合自己本地数据库,使用表格
如何利用[DataTable]结合自己本地数据库,使用表格我们都知道DataTable的使用与配置,平时我们都是用一个json文件来代替后台,但是实际上我们在与后台交互的时候,后台先取到数据库里面的信 ...
- 每天一点Android干货-Activity的生命周期
Activity Activity是这样一个程序组件,它为用户提供一个用于任务交互的画面. 一个应用程序通常由多个activity组成,它们彼此保持弱的绑定状态.典型的,当一个activity在一个应 ...
- Java 异常处理 练习2
建立exception包,建立Bank类,类中有变量double balance表示存款,Bank类的构造方法能增加存款,Bank类中有取款的发方法withDrawal(double dAmount ...
- mysql 链接失败(ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES))
mysql链接失败(ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)) 修改: # ...