返回当前的日期和时间

select MICROSECOND(SYSDATE()); --0

select SECOND(SYSDATE()); --33

select MINUTE(SYSDATE()); --8

select HOUR(SYSDATE()); --18

select week(SYSDATE()); --45

select MONTH(SYSDATE()); --11

select MONTHNAME(SYSDATE()); --November

select QUARTER(SYSDATE()); --4

select year(SYSDATE()); --2018

select SYSDATE(); --2018-12-23 18:08:33

select NOW(); --2018-12-23 18:08:33

select CURDATE(); --2018-12-23

select CURTIME(); --18:08:33

返回当前日期和时间的UNIX时间戳

select UNIX_TIMESTAMP(); --1542099027

select UNIX_TIMESTAMP(SYSDATE()); --1542099027

select FROM_UNIXTIME(unix_timestamp(sysdate())); --2018-12-23 16:50:27

select FROM_UNIXTIME(unix_timestamp(sysdate()), '%Y-%m-%d %H:%i:%S'); --2018-12-23 16:50:28

select FROM_UNIXTIME(unix_timestamp(sysdate())-20, '%Y-%m-%d %H:%i:%S'); --2018-12-23 16:50:08

参考格式如下:

%M 月名字(January……December)

%W 星期名字(Sunday……Saturday)

%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)

%Y 年, 数字, 4 位

%y 年, 数字, 2 位

%a 缩写的星期名字(Sun……Sat)

%d 月份中的天数, 数字(00……31)

%e 月份中的天数, 数字(0……31)

%m 月, 数字(01……12)

%c 月, 数字(1……12)

%b 缩写的月份名字(Jan……Dec)

%j 一年中的天数(001……366)

%H 小时(00……23)

%k 小时(0……23)

%h 小时(01……12)

%I 小时(01……12)

%l 小时(1……12)

%i 分钟, 数字(00……59)

%r 时间,12 小时(hh:mm:ss [AP]M)

%T 时间,24 小时(hh:mm:ss)

%S 秒(00……59)

%s 秒(00……59)

%p AM或PM

%w 一个星期中的天数(0=Sunday ……6=Saturday )

%U 星期(0……52), 这里星期天是星期的第一天

%u 星期(0……52), 这里星期一是星期的第一天

%% 一个文字“%”。

用这个函数可以帮助我们在时间戳中筛选出某些天的数据。

SELECT username, FROM_UNIXTIME(create_time, "%Y-%m-%d") AS dat

FROM `wp_user`

WHERE

create_time >= UNIX_TIMESTAMP('2017-11-29')

AND

create_time < UNIX_TIMESTAMP('2017-11-30')

GROUP BY dat;

这个查询可以让我们查出29号那一天的用户注册记录。

查询前20秒内的记录数量

select marketing_activity_id, ip_address, COUNT(ip_address) num

from rod_redpacket_log t1

where t1.create_date between FROM_UNIXTIME(unix_timestamp(sysdate())-20, '%Y-%m-%d %H:%i:%S') and sysdate()

GROUP BY ip_address

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

select str_to_date('08/09/2008', '%m/%d/%Y'); -- 2008-08-09

select str_to_date('08/09/08' , '%m/%d/%y'); -- 2008-08-09

select str_to_date('08.09.2008', '%m.%d.%Y'); -- 2008-08-09

select str_to_date('08:09:30', '%h:%i:%s'); -- 08:09:30

select str_to_date('08.09.2008 08:09:30', '%m.%d.%Y %h:%i:%s'); -- 2008-08-09 08:09:30

日期转换函数、时间转换函数 date_format(date,format), time_format(time,format)

select date_format('2008-08-08 22:23:01', '%Y%m%d%H%i%s'); --20080808222301

select date_format(SYSDATE(), '%Y-%m-%d %H:%i:%s'); --2018-11-13 18:11:44

查询当月出现的记录数量

select phone_number, COUNT(phone_number) as num from table_name t1

WHERE DATE_FORMAT(t1.create_date, '%Y-%m') = DATE_FORMAT(CURDATE(), '%Y-%m')

group by PHONE_NUMBER;

查询当天出现的记录数量

select phone_number, COUNT(phone_number) as num from table_name t1

WHERE DATE_FORMAT(t1.create_date, '%Y-%m-%d') = DATE_FORMAT(CURDATE(), '%Y-%m-%d')

group by PHONE_NUMBER;

查询当天某个时间段的数据

select * from rod_redpacket_log

where DATE_FORMAT(create_date, '%Y%m') = DATE_FORMAT(CURDATE( ), '%Y%m')

and DATE_FORMAT(create_date, '%H:%i')

between DATE_FORMAT( STR_TO_DATE(#{startTimeScop}, '%H:%i'), '%H:%i')

and DATE_FORMAT( STR_TO_DATE(#{endTimeScop}, '%H:%i'), '%H:%i') ;

MySQL 日期、时间转换函数:date_format(date,format), time_format(time,format) 能够把一个日期/时间转换成各种各样的字符串格式。它是 str_to_date(str,format) 函数的 一个逆转换。

格式    描述

%a    缩写星期名

%b    缩写月名

%c    月,数值

%D    带有英文前缀的月中的天

%d    月的天,数值(00-31)

%e    月的天,数值(0-31)

%f    微秒

%H    小时 (00-23)

%h    小时 (01-12)

%I    小时 (01-12)

%i    分钟,数值(00-59)

%j    年的天 (001-366)

%k    小时 (0-23)

%l    小时 (1-12)

%M    月名

%m    月,数值(00-12)

%p    AM 或 PM

%r    时间,12-小时(hh:mm:ss AM 或 PM)

%S    秒(00-59)

%s    秒(00-59)

%T    时间, 24-小时 (hh:mm:ss)

%U    周 (00-53) 星期日是一周的第一天

%u    周 (00-53) 星期一是一周的第一天

%V    周 (01-53) 星期日是一周的第一天,与 %X 使用

%v    周 (01-53) 星期一是一周的第一天,与 %x 使用

%W    星期名

%w    周的天 (0=星期日, 6=星期六)

%X    年,其中的星期日是周的第一天,4 位,与 %V 使用

%x    年,其中的星期一是周的第一天,4 位,与 %v 使用

%Y    年,4 位

%y    年,2 位

TO_DAYS函数 返回一个天数

SELECT TO_DAYS(‘1997-10-07′); --729669

如果要查询当前表中昨天的数据那么

select * from lito where to_days(now()) - to_days(create_time) = 1;

如果要查询今天出现的数据次数

select city_name,city_code,phone_number,COUNT(phone_number) num

from rod_redpacket_log t1

where to_days(t1.create_date) = to_days(NOW())

group by activity_id,phone_number;

MySQL 拼凑日期、时间函数:makdedate(year,dayofyear), maketime(hour,minute,second)

select makedate(2001,31); -- '2001-01-31'

select makedate(2001,32); -- '2001-02-01'

select maketime(12,15,30); -- '12:15:30'

MySQL (时间、秒)转换函数:time_to_sec(time), sec_to_time(seconds)

select time_to_sec('01:00:05'); -- 3605

select sec_to_time(3605); -- '01:00:05'

向日期添加指定的时间间隔:DATE_ADD(date,INTERVAL expr type)

select date_add(now(), interval 1 day); -- add 1 day

select date_add(now(), interval 1 hour); -- add 1 hour

select date_add(now(), interval 1 minute); -- ...

select date_add(now(), interval 1 second);

select date_add(now(), interval 1 microsecond);

select date_add(now(), interval 1 week);

select date_add(now(), interval 1 month);

select date_add(now(), interval 1 quarter);

select date_add(now(), interval 1 year);

select date_add(now(), interval -1 day); -- sub 1 day

select date_add('2008-08-09 12:12:33', interval '01:15:30' hour_second); --2008-08-09 13:28:03

select date_add('2008-08-09 12:12:33', interval '1 01:15:30' day_second); --2008-08-10 13:28:03

type 参数可以是下列值:

MICROSECOND

SECOND

MINUTE

HOUR

DAY

WEEK

MONTH

QUARTER

YEAR

SECOND_MICROSECOND

MINUTE_MICROSECOND

MINUTE_SECOND

HOUR_MICROSECOND

HOUR_SECOND

HOUR_MINUTE

DAY_MICROSECOND

DAY_SECOND

DAY_MINUTE

DAY_HOUR

YEAR_MONTH

日期减去一个时间间隔:DATE_SUB(date,INTERVAL expr type)

select date_sub('1998-01-01 00:00:00', interval '1 1:1:1' day_second); --1997-12-30 22:58:59

select DATE_SUB(NOW(),INTERVAL 20 SECOND), now(); --2018-11-14 12:53:36,2018-11-14 12:53:56

查询前三分钟出现的记录数量

select *,count(ACTIVITY_ID) from rod_redpacket_log

where CREATE_DATE BETWEEN DATE_SUB(now(),INTERVAL 3 MINUTE) and now()

GROUP BY ACTIVITY_ID;

查询前30天的数据

select crt_time,* from marketing_activity where crt_time between DATE_SUB(now(), interval 30 day) and now() order by crt_time desc;

type 参数可以是下列值:

MICROSECOND

SECOND

MINUTE

HOUR

DAY

WEEK

MONTH

QUARTER

YEAR

SECOND_MICROSECOND

MINUTE_MICROSECOND

MINUTE_SECOND

HOUR_MICROSECOND

HOUR_SECOND

HOUR_MINUTE

DAY_MICROSECOND

DAY_SECOND

DAY_MINUTE

DAY_HOUR

YEAR_MONTH

日期、时间相减函数:datediff(date1,date2), timediff(time1,time2) ,date1-date2返回天数,两个参数类型必须相同。

select datediff('2008-08-08', '2008-08-01'); -- 7

select datediff('2008-08-01', '2008-08-08'); -- -7

时间戳(timestamp)转换、增、减函数

TIMESTAMPDIFF(unit,begin,end),date2-date1返回时间差,两个参数类型必须相同。

select timestamp('2008-08-08'); -- 2008-08-08 00:00:00

select timestamp('2008-08-08 08:00:00', '01:01:01'); -- 2008-08-08 09:01:01

select timestamp('2008-08-08 08:00:00', '10 01:01:01'); -- 2008-08-18 09:01:01

select timestampadd(day, 1, '2008-08-08 08:00:00'); -- 2008-08-09 08:00:00

select date_add('2008-08-08 08:00:00', interval 1 day); -- 2008-08-09 08:00:00

# MySQL timestampadd() 函数类似于 date_add()。

select timestampdiff(year, '2002-05-01', '2001-01-01'); -- -1

select timestampdiff(day , '2002-05-01', '2001-01-01'); -- -485

select timestampdiff(hour, '2008-08-08 12:00:00', '2008-08-08 00:00:00'); -- -12

select datediff('2008-08-08 12:00:00', '2008-08-01 00:00:00'); -- 7

unit参数是确定(end-begin)的结果的单位,表示为整数。 以下是有效单位:

MICROSECOND

SECOND

MINUTE

HOUR

DAY

WEEK

MONTH

QUARTER

YEAR

MySQL 获得当前时间戳函数:current_timestamp, current_timestamp()

select current_timestamp, current_timestamp(); --2018-11-13 17:23:56,2018-11-13 17:23:56

mysql常用日期时间函数_MySql常用日期时间函数相关推荐

  1. mysql信息函数和加密函数_MYSQL 常用函数(数学、字符串、日期时间、系统信息、加密)...

    一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ABS(x) 返回x的绝对值 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 ...

  2. mysql最大时间函数_mySql常用时间函数

    1.取一个日期字段的年月: 方法一:select date_format(日期字段,'%Y-%m') as '日期' from 表 方法二:使用left()函数来截取 select left(日期字段 ...

  3. mysql 当前日期加3天_MySQL应用总结(十三)—函数的操作(3):日期时间函数

    SQL语法预览: 使用函数:[select 函数名(参数1,参数2-);] 详解: 接上期... 四. 日期和时间函数 日期和时间函数主要用来处理日期和时间值,一般的日期函数除了使用DATE类型的参数 ...

  4. mysql常用内置函数_mysql常见内置函数

    在mysql中有许多内置的函数,虽然功能都能在PHP代码中实现,但巧妙的应用mysql内置函数可以大大的简化开发过程,提高效率. 在这里我总结一下一些常用的,方便以后查看: mysql字符串函数: c ...

  5. mysql 中abs函数_Mysql常用函数

    本文内容: mysql函数的介绍 聚集函数 avg count max min sum 用于处理字符串的函数 合并字符串函数:concat(str1,str2,str3-) 比较字符串大小函数:str ...

  6. mysql中日期函数_mysql中日期函数ADDDATE()函数用法大全

    摘要: 下文讲述mysql数据库中日期函数ADDDATE方法简介说明,如下所示: ADDDATE函数简介说明 ADDDATE函数是DATE_ADD函数的同义词,具有同样的功能, 其作用为:为指定的日期 ...

  7. mysql小日期时间类型_MySQL之日期时间类型

    mysql(5.5)所支持的日期时间类型有:DATETIME. TIMESTAMP.DATE.TIME.YEAR. 几种类型比较如下: 日期时间类型 占用空间 日期格式 最小值 最大值 零值表示 DA ...

  8. mysql自动获取时间列_mysql自动获取时间日期的方法

    实现方式: 1.将字段类型设为 TIMESTAMP 2.将默认值设为 CURRENT_TIMESTAMP 举例应用: 1.MySQL 脚本实现用例 --添加CreateTime 设置默认时间 CURR ...

  9. mysql中怎么在列中使用时间函数_mysql中关于时间的函数使用教程

    UNIX_TIMESTAMP() UNIX_TIMESTAMP(date) 如果没有参数调用,返回一个Unix时间戳记(从1970-01-01 00:00:00GMT开始的秒数).如果UNIX_TIM ...

  10. mysql常见关键字的用法_MySQL 常用关键字用法详解

    MySQL 常用关键字用法详解 在开发工程中,操作数据库的时候经常会有不同类型的条件查询,除了使用where外,Mysql本身也提供了很多常用的关键字.本文主要介绍一些常用的关键字,像update.i ...

最新文章

  1. 企业如何培养出得力的下属?
  2. Blend for Visual Studio 2013
  3. 教你认识动态链接库DLL文件
  4. blog微服务架构代码_聊聊微服务架构
  5. python语言程序设计基础第二版第七章答案-Python核心编程第二版 第七章课后答案...
  6. loadrunner录制事件为0_Oracle数据库性能监控|LoadRunner 中配置监控Oracle
  7. 趁618买iPhone 11还是等iPhone 12?李楠有话要说
  8. 【com编程】IE浏览器(右键扩展功能总结版)
  9. 判断两个IP大小关系及是否在同一个网段中
  10. 图书馆管理系统前景与范围文档
  11. 台式计算机能不能安装蓝牙驱动,win7电脑蓝牙驱动怎么安装,详细教您怎么安装...
  12. win10打开计算机加载很慢,解析为何win10系统中我的电脑打开速度很慢
  13. 【Git】git add
  14. 我的世界服务器无限血,我的世界生物血量无限指令 | 手游网游页游攻略大全
  15. ubuntu系统外连接两个显示器设置
  16. 问道手游平民玩家什么职业好
  17. Nacos服务器1.4.1下载篇
  18. 李建忠设计模式(一)
  19. android 双屏壁纸,怎么让双屏显示壁纸不一样
  20. 分享tushare的使用方法

热门文章

  1. ICANN:新类别顶级域名2013年才能开放申请
  2. 数据中心虚拟化的7大考量要素
  3. 有关session的登录注销的一个小例子
  4. 实战tcpdump看RST
  5. shell实例第20讲:linux shell date的用法
  6. 玩转以太坊(Ethereum)的测试网络
  7. linux内核关于io的变迁
  8. 线程:类ThreadLocal的使用
  9. oracle:sql约束
  10. 微软发布Azure SignalR Service的预览版本