首页 > 数据库 >mysql 时间函数

mysql 时间函数

时间:2022-10-11 17:36:49浏览次数:74  
标签:10 函数 05 -- 37 14.123456 时间 mysql 2017

时间格式转换

标准时间格式: 2017-05-12 11:41:55

-- 字符串转换为日期函数:str_to_date(str, format)

SELECT STR_TO_DATE('06.05.2017 19:40:30', '%m.%d.%Y %H:%i:%s');-- 2017-06-05 19:40:30
SELECT STR_TO_DATE('06/05/2017', '%m/%d/%Y');                  -- 2017-06-05
SELECT STR_TO_DATE('2017/12/3','%Y/%m/%d')		       -- 2017-12-03
SELECT STR_TO_DATE('20:09:30', '%h:%i:%s')		       -- NULL(超过12时的小时用小写h,得到的结果为NULL)

-- 日期时间格式化转字符串

SELECT DATE_FORMAT('2017-05-12 17:03:51', '%Y年%m月%d日 %H时%i分%s秒');-- 2017年05月12日 17时03分51秒(具体需要什么格式的数据根据实际情况来;小写h为12小时制;)
SELECT TIME_FORMAT('2017-05-12 17:03:51', '%Y年%m月%d日 %H时%i分%s秒');-- 0000年00月00日 17时03分51秒(time_format()只能用于时间的格式化)

-- STR_TO_DATE()和DATE_FORMATE()为互逆操作

当前时间

now()
-- 当前日期时间:2017-05-12 11:41:55

当前日期

SELECT CURDATE();
-- 当前日期:2017-05-12

当前时间

SELECT CURTIME();
-- 当前时间:11:42:47

截取时间的一部分

datatime = '2017-05-15 10:37:14.123456';
DATE(datatime);-- 获取日期:2017-05-15
TIME('2017-05-15 10:37:14.123456');-- 获取时间:10:37:14.123456
YEAR('2017-05-15 10:37:14.123456');-- 获取年份
MONTH('2017-05-15 10:37:14.123456');-- 获取月份
DAY('2017-05-15 10:37:14.123456');-- 获取日
HOUR('2017-05-15 10:37:14.123456');-- 获取时
MINUTE('2017-05-15 10:37:14.123456');-- 获取分
SECOND('2017-05-15 10:37:14.123456');-- 获取秒
SELECT QUARTER('2017-05-15 10:37:14.123456');-- 获取季度

时间加法

-- DATE_ADD(date,INTERVAL expr type) 从日期加上指定的时间间隔

SELECT DATE_ADD('2017-05-15 10:37:14.123456',INTERVAL 1 YEAR);-- 表示:2018-05-15 10:37:14.123456
SELECT DATE_ADD('2017-05-15 10:37:14.123456',INTERVAL 1 QUARTER);-- 表示:2017-08-15 10:37:14.123456
SELECT DATE_ADD('2017-05-15 10:37:14.123456',INTERVAL 1 MONTH);-- 表示:2017-06-15 10:37:14.123456
SELECT DATE_ADD('2017-05-15 10:37:14.123456',INTERVAL 1 WEEK);-- 表示:2017-05-22 10:37:14.123456
SELECT DATE_ADD('2017-05-15 10:37:14.123456',INTERVAL 1 DAY);-- 表示:2017-05-16 10:37:14.123456
SELECT DATE_ADD('2017-05-15 10:37:14.123456',INTERVAL 1 HOUR);-- 表示:2017-05-15 11:37:14.123456
SELECT DATE_ADD('2017-05-15 10:37:14.123456',INTERVAL 1 MINUTE);-- 表示:2017-05-15 10:38:14.123456
SELECT DATE_ADD('2017-05-15 10:37:14.123456',INTERVAL 1 SECOND);-- 表示:2017-05-15 10:37:15.123456
SELECT DATE_ADD('2017-05-15 10:37:14.123456',INTERVAL 1 MICROSECOND);-- 表示:2017-05-15 10:37:14.123457

时间减法

-- DATE_SUB(date,INTERVAL expr type) 从日期减去指定的时间间隔

SELECT DATE_SUB('2017-05-15 10:37:14.123456',INTERVAL 1 YEAR);-- 表示:2016-05-15 10:37:14.123456
SELECT DATE_SUB('2017-05-15 10:37:14.123456',INTERVAL 1 QUARTER);-- 表示:2017-02-15 10:37:14.123456
SELECT DATE_SUB('2017-05-15 10:37:14.123456',INTERVAL 1 MONTH);-- 表示:2017-04-15 10:37:14.123456
SELECT DATE_SUB('2017-05-15 10:37:14.123456',INTERVAL 1 WEEK);-- 表示:2017-05-08 10:37:14.123456
SELECT DATE_SUB('2017-05-15 10:37:14.123456',INTERVAL 1 DAY);-- 表示:2017-05-14 10:37:14.123456
SELECT DATE_SUB('2017-05-15 10:37:14.123456',INTERVAL 1 HOUR);-- 表示:2017-05-15 09:37:14.123456
SELECT DATE_SUB('2017-05-15 10:37:14.123456',INTERVAL 1 MINUTE);-- 表示:2017-05-15 10:36:14.123456
SELECT DATE_SUB('2017-05-15 10:37:14.123456',INTERVAL 1 SECOND);-- 表示:2017-05-15 10:37:13.123456
SELECT DATE_SUB('2017-05-15 10:37:14.123456',INTERVAL 1 MICROSECOND);-- 表示:2017-05-15 10:37:14.123455

日期减日期

-- datediff(date1,date2):两个日期相减 date1 - date2,返回天数
DATEDIFF('2017-06-05','2017-05-29');-- 7

-- TIMEDIFF(time1,time2):两个日期相减 time1 - time2,返回 TIME 差值
TIMEDIFF('2017-06-05 19:28:37', '2017-06-05 17:00:00');-- 02:28:37

引用原文链接:https://blog.csdn.net/qinshijangshan/article/details/72874667

标签:10,函数,05,--,37,14.123456,时间,mysql,2017
From: https://www.cnblogs.com/hzk20220818/p/16779916.html

相关文章

  • Phoenix不支持having函数的情况(举例)
     同一sql语句,在mysql可以查询成功,查询出最大“平均值”,以及对应的sno;在Phoenix会报错,提示sno不属于聚和函数也不在groupby里面,aggregatemaynotcontainscolumnsnot......
  • 浅谈MySQL、Hadoop、BigTable、Clickhouse数据读写机制
    个人理解,欢迎指正数据库引擎写数据读数据补充MySqlInnoDB:支持事务,高速读写性能一般Myisam:不支持事务,高速读写性能好以InnoDB更新一条记录为例1、B+Tree......
  • 简析 Linux 的 CPU 时间
    从CPU时间说起...下面这个是top命令的界面,相信大家应该都不陌生。top-19:01:38up91days,23:06,1user,loadaverage:0.00,0.01,0.05Tasks:151total,......
  • Mysql查询结果添加序列号
    单表从0开始SELECT(@i:=@i+1)ASidFROMsys_regionn1,(SELECT@i:=-1)ASitLIMIT1000从1开始SELECT(@i:=@i+1)ASidFROMsys_regionn1,......
  • Mysql关于时间的一些总结
    一、mysql获取当月的第一天获取当前时间SQL:SELECT结果:2017-12-27获取当前日期是当月的多少天SQL:SELECTDAY结果:27获取当月第一天SQL:SELECTDATE_ADD(CURDATE(),INTER......
  • mysql 的连接问题
    --查看mysql的最大连接数showvariableslike'%max_connections%'--查看此时mysql的连接数量showstatuslike'Threads%'--查看mysql的连接的用户的信息s......
  • mysql 以某一列排序加序号
    加序号函数row_number()、rank()和dense_rank()加序号函数over()中必须有orderby排序row_number()row_number()OVER([partitionby...]orderby...)为一个分区中的......
  • qt 容器 函数指针
    private:typedefvoid(MainWindow::*pfunc)();QHash<QString,pfunc>func_map_enter;voidMainWindow::init_qmap(void){func_map_enter.insert("page_n......
  • mysql 索引
    目录mysql索引索引(Index)是什么为什么要使用索引顺序访问索引访问索引的优缺点优点缺点索引可以分为哪些类型B+tree索引mysql索引索引(Index)是什么索引是一种特殊的数据......
  • 数据库故障处理优质文章汇总(含Oracle、MySQL、MogDB等)
    数据库告警、紧急问题处理这些项目对于大多数朋友来讲应该不陌生了。从墨天轮社区整理的“最受DBA欢迎的技术文档合辑”系列中可以发现,大家对“故障诊断专题”的热情居高不......