mysql 时区与时间函数

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介:

--在mysql中可以直接使用sleep()函数,sysdate函数返回的是执行到当前函数的时间,而now函数返回的是执行sql的时间
mysql> SELECT now(),SYSDATE(), SLEEP(2),now(), sysdate() from dual;
+---------------------+---------------------+----------+---------------------+---------------------+
| now()               | SYSDATE()           | SLEEP(2) | now()               | sysdate()           |
+---------------------+---------------------+----------+---------------------+---------------------+
| 2015-05-29 14:19:43 | 2015-05-29 14:19:43 |        0 | 2015-05-29 14:19:43 | 2015-05-29 14:19:45 |
+---------------------+---------------------+----------+---------------------+---------------------+
1 row in set (2.00 sec)

--在mysql中不能对日期直接进行加减,要使用date_add,date_sub函数
mysql> select now(),date_add(now(),interval 1 day) as tomorrow,date_sub(now(),interval 1 daY) as yerterday,date_sub(now(),interval -1 day) yesterday2
from dual;
+---------------------+---------------------+---------------------+---------------------+
| now()               | tomorrow            | yerterday           | yesterday2          |
+---------------------+---------------------+---------------------+---------------------+
| 2015-05-29 14:40:52 | 2015-05-30 14:40:52 | 2015-05-28 14:40:52 | 2015-05-30 14:40:52 |
+---------------------+---------------------+---------------------+---------------------+
1 row in set (0.00 sec)

--mysql中weekday从周一开始计算,但周一为0,dayofweek从周日开始计算,从1开始
mysql> select weekday(@a),dayofweek(@a),dayname(@a);
+-------------+---------------+-------------+
| weekday(@a) | dayofweek(@a) | dayname(@a) |
+-------------+---------------+-------------+
|           4 |             6 | Friday      |
+-------------+---------------+-------------+




--格式化日期函数,获取日期时间类型与timestamp的不同
mysql> select date_format('2015-10-01 23:59:59','%Y-%m-%d %H:%i:%s');
 select from_unixtime(date_format('2015-10-01 23:59:59','%Y-%m-%d %H:%i:%s'));
 select timestamp('2015-10-01 23:59:59');
 
 select date_format('2015-10-01 23:59:59','%Y-%m-%d %H:%i:%s') from dual where now()>date_format('2015-10-01 23:59:59','%Y-%m-%d %H:%i:%s');
 
 
--修改时区,则相应的时间函数会返回不同的值
This includes the values displayed by functions such as NOW() or CURTIME(), and values stored in and retrieved from TIMESTAMP columns、
The current time zone setting does not affect values displayed by functions such as UTC_TIMESTAMP() or values in DATE, TIME, or DATETIME columns
 
mysql> SELECT NOW();
+---------------------+
| NOW()               |
+---------------------+
| 2016-02-03 09:46:33 |
+---------------------+
1 row in set (0.00 sec)
 
mysql> set time_zone='+07:00';
Query OK, 0 rows affected (0.00 sec)
--时间改变
mysql> SELECT NOW();
+---------------------+
| NOW()               |
+---------------------+
| 2016-02-03 08:46:35 |
+---------------------+
1 row in set (0.00 sec)


--将一个时区的时间转换成另一个时区的时间
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');
+-----------------------------------------------------+
| CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00') |
+-----------------------------------------------------+
| 2004-01-01 22:00:00                                 |
+-----------------------------------------------------+
1 row in set (0.00 sec)
--如果以下查询结果是null,则时区信息表里数据为空
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
+-----------------------------------------------+
| CONVERT_TZ('2004-01-01 12:00:00','GMT','MET') |
+-----------------------------------------------+
| 2004-01-01 13:00:00                           |
+-----------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT COUNT(*) FROM mysql.time_zone_name;
+----------+
| COUNT(*) |
+----------+
|        0 |
+----------+
1 row in set (0.00 sec)
--导入时区信息到数据库表中
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p123456 mysql

--查看数据库的时区,如果 time_zone = SYSTEM ,则数据库的时区与操作系统相关
The operating system time affects the value that the MySQL server uses for times if its time zone is set to SYSTEM
mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | CST    |
| time_zone        | SYSTEM |
+------------------+--------+


-- lc_time_names 变量控制着星期,月,日的显示方式
The locale indicated by the lc_time_names system variable controls the language used to display day and month names and abbreviations. 
This variable affects the output from the DATE_FORMAT(),DAYNAME(), and MONTHNAME() functions.
lc_time_names does not affect the STR_TO_DATE() or GET_FORMAT() function
mysql> SELECT @@lc_time_names;
+-----------------+
| @@lc_time_names |
+-----------------+
| en_US           |
+-----------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_FORMAT('2010-01-01','%W %a %M %b');
+-----------------------------------------+
| DATE_FORMAT('2010-01-01','%W %a %M %b') |
+-----------------------------------------+
| Friday Fri January Jan                  |
+-----------------------------------------+
1 row in set (0.00 sec)

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
小程序 开发者 安全
福利!支付宝小程序开发必备的7款开源DEMO
相比于APP,小程序已经大大降低了开发者们的学习和开发的门槛。而如何进一步提高小程序开发者的学习和开发效率,一直是支付宝小程序团队非常重视的课题。对于开发者而言, 文档可以提供基础的引导,而针对性的、基于常见场景的DEMO则更为直观清晰易懂,可以大大节约上手的成本。
7895 0
福利!支付宝小程序开发必备的7款开源DEMO
|
传感器 存储 缓存
STM32--MPU6050与I2C外设
STM32--MPU6050与I2C外设
581 1
|
Ubuntu Linux
推荐几个学习linux的国外著名论坛网站
【TOP1】http://crunchbanglinux.org/forums/forum/8/tips-tricks-scripts/ http://bbs.archlinux.org/ http://www.linuxforums.org/ http://www.linuxsir.org/bbs/index.php (国内) 【TOP2】Mark Shuttleworth:   http://www.markshuttleworth.com/  Ubuntu创始人的blog,虽然更新不是经常更新,但是Mark常常讨论一些关于未来Ubuntu的功能,和一些他面试的更新。
2608 0
|
存储 固态存储 算法
浅析数据中心存储发展趋势
产生的这些巨量数据,存储的归宿在哪里呢?随着发展趋势,个人本地存储的需求越来越小,公有云的数据存储量将会有迅速的攀升。
|
存储 运维 分布式计算
|
开发工具 Android开发 git
android Livedata最详尽的使用场景分析,让你爱上Livedata
android Livedata最详尽的使用场景分析,让你爱上Livedata
1222 0
android Livedata最详尽的使用场景分析,让你爱上Livedata
|
监控 数据可视化 JavaScript
模切行业ERP如何做好成本核算管理
随着模切行业的不断发展,模切行业成本管理中存在的问题已成为模切企业关注的焦点。在传统粗放的手工模式下,模切企业成本核算工作量会非常巨大,不能对成本信息进行实时监控,只能在成本费用发生后进行归集核算,数据有滞后性。
393 0
|
安全 算法 Java
有关密钥的最全总结都在这了
有关密钥的最全总结都在这了
有关密钥的最全总结都在这了
一文读懂阿里云直播技术是如何实现的
东京奥运会已落下帷幕。比赛期间,全球亿万观众蜂拥至各大转播平台观看奥运赛事,平台直播能力显的尤为重要。阿里云作为视频直播平台的技术提供商,凭借在产品技术、资源带宽、服务保障等方面优势,可为各大转播平台提供全链路技术支持和保障,确保极致观赛体验。本文分享阿里云视频直播技术是如何实现的。
一文读懂阿里云直播技术是如何实现的

热门文章

最新文章