mysql中的日期运算_mysql语句中日期函数和日期的加减运算

本文详细介绍了MySQL中时间与Unix时间戳之间的转换函数,包括SEC_TO_TIME、TIME_TO_SEC、UNIX_TIMESTAMP和FROM_UNIXTIME的用法。此外,还讲解了CURTIME、NOW以及CURRENT_TIMESTAMP等获取当前时间的函数。通过实例展示了如何进行日期和时间的加减运算以及格式化输出。这些函数在数据库操作和时间处理中非常实用。
摘要由CSDN通过智能技术生成

一、秒数和时钟格式的互相转化

SEC_TO_TIME(seconds)

返回seconds参数,变换成小时、分钟和秒,值以'HH:MM:SS'或HHMMSS格式化,取决于函数是在一个字符串还是在数字。

select SEC_TO_TIME(73200);

-> '20:20:00'

select TIME_TO_SEC(1220);

-> '00:20:20'

mysql> select SEC_TO_TIME(73200) + 0;

-> 202000.000000

TIME_TO_SEC(time)

返回time参数,转换成秒。

select TIME_TO_SEC('00:20:20');

->1220

select TIME_TO_SEC('20:20');

->73200

二、UNIX_TIMESTAMP 和 FROM_UNIXTIME

UNIX_TIMESTAMP(date)

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

个date参数被调用,它返回从'1970-01-01 00:00:00' GMT开始的秒数值。date可以是一个DATE字符串、一个DATETIME

字符串、一个TIMESTAMP或以YYMMDD或YYYYMMDD格式的本地时间的一个数字。

select UNIX_TIMESTAMP();

-> 1462503488

select UNIX_TIMESTAMP('2016-5-8 12:30:52');

-> 1462681852

当UNIX_TIMESTAMP被用于一个TIMESTAMP列,函数将直接接受值,没有隐含的“string-to-unix-timestamp”变换。

FROM_UNIXTIME(unix_timestamp)

以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回unix_timestamp参数所表示的值,取决于函数是在一个字符串

还是或数字上下文中被使用。

select FROM_UNIXTIME(1462681852);

-> '2016-5-8 12:30:52'

select FROM_UNIXTIME(1462681852) + 0;

-> 20160506105808.000000

FROM_UNIXTIME(unix_timestamp,format)

返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条

目同样的修饰符。

select FROM_UNIXTIME(UNIX_TIMESTAMP(),'%Y%m%d %h%i%s %x');

-> '20160506 110443 2016'

select FROM_UNIXTIME(UNIX_TIMESTAMP(),'%Y%D%M %h:%i:%s %x');

-> '20166thMay 11:21:35 2016'

三、CURTIME() 和 NOW()

CURRENT_TIME

以'HH:MM:SS'或HHMMSS格式返回当前时间值,取决于函数是在一个字符串还是在数字的上下文被使用。

mysql> select CURTIME();

-> '11:24:47'

mysql> select CURTIME() + 0;

-> 112522.000000

SYSDATE()

CURRENT_TIMESTAMP

以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回当前的日期和时间,取决于函数是在一个字符串还是在数字的上下文被使用。

select NOW();

-> '2016-05-06 11:25:55'

select SYSDATE();

select CURRENT_TIMESTAMP();

-> '2016-05-06 11:25:55'

mysql> select NOW() + 0;

-> 20160506112611.000000

PERIOD_ADD(P,N)

增加N个月到阶段P(以格式YYMM或YYYYMM)。以格式YYYYMM返回值。注意阶段参数P不是日期值。

PERIOD_ADD(FROM_UNIXTIME(t1.declare_date,'%Y%m'),-1)

select PERIOD_ADD(9801,2);

-> 199803

【python】详解time模块功能asctime、localtime、mktime、sleep、strptime、strftime、time等函数以及时间的加减运算

在Python中,与时间处理相关的模块有:time.datetime以及calendar.学会计算时间,对程序的调优非常重要,可以在程序中狂打时间戳,来具体判断程序中哪一块耗时最多,从而找到程序调优的 ...

sql语句中获取datetime的日期部分或时间部分

sql语句中获取datetime的日期部分 sql语句中 经常操作操作datetime类型数据.今天在写一个存储过程的时候需要将 一个datetime的值的 日期部分提取出来.网上有许多这方面的介绍. ...

mysql语句中把string类型字段转datetime类型

mysql语句中把string类型字段转datetime类型   在mysql里面利用str_to_date()把字符串转换为日期   此处以表h_hotelcontext的Start_time和En ...

mysql语句中使用like后面的%(百分号)的问题

问题:mysql语句中使用like后面的%(百分号) 是不是越多运行效率越慢! 总用时:0.0489秒 0.0691 0.0485 0.0467 SELECT `goods_name`, `goods ...

Linux中日期的加减运算

Linux中日期的加减运算 目录 在显示方面 在设定时间方面 时间的加减 正文 date命令本身提供了日期的加减运算. date 可以用来显示或设定系统的日期与时间. 回到顶部 在显示方面 使用者可以 ...

MySQL 语句中执行优先级——and比or高

转: MySQL 语句中执行优先级——and比or高 2017年04月20日 13:33:03 十步行 阅读数:7381   版权声明:本文为博主原创文章,未经博主允许不得转载. https://bl ...

在mysql语句中为什么要加反引号

在MySQL语句中我们有时候经常会遇到反引号(``),刚开始的时候不知道什么意思,他是什么作用呢? Select * from `member` order by posts desc limit 0 ...

Oracle中,利用sql语句中的函数实现保留两位小数和四舍五入保留两位小数

Oracle中,利用sql语句中的函数实现保留两位小数和四舍五入保留两位小数: select trunc(1.23856789,2) from dual round(m,n) 可以四舍五入 trunc ...

MySql语句中select可以嵌套么,字段的重命名可以用中文么

今天文档中看到的查询语句,SELECT后面又跟了一个SELECT嵌套,而且把字段重命名为中文,请问可以这样做么 MySql语句中select可以嵌套么,字段的重命名可以用中文么 >> my ...

随机推荐

【干货分享】流程DEMO-请休假

流程名: 请假申请  流程相关文件: 流程包.xml WebService业务服务.xml WebService.asmx WebService.cs  流程说明: 流程中集成了webservice服 ...

java udp与tcp

一:基础  NET基本对象java.net.InetAddress类的使用 IP地址是IP使用的32位(IPv4)或者128位(IPv6)位无符号数字,它是传输层协议TCP,UDP的基础.InetAd ...

ThinkPHP去重 distinct和group by

转自:http://blog.csdn.net/helencoder/article/details/50328629 近期项目中,遇到数据表去重要求,对于ThinkPHP的去重有了更加准确的认识和体 ...

LNMP服务器虚拟主机管理lnmp

安装 系统需求: 需要2 GB硬盘剩余空间 安装步骤: 1.使用putty或类似的SSH工具登陆:登陆后运行:screen -S lnmp如果提示screen命令不存在可以执行:yum install ...

[开发笔记]-WindowsService服务程序开发

Windows服务:Microsoft Windows 服务(即,以前的 NT服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可 ...

Xcode6.2创建Empty Application

运行Xcode 6,创建一个Single View Application工程.   创建好后,把工程目录下的Main.storyboard和LaunchScreen.xib删除,扔进废纸篓.   打 ...

Android 异常处理最佳实践

一个好的app 异常处理机制 我认为应该至少包含以下几个功能: 1.能把错误信息上传到服务器  让开发者可以持续改进app 2.错误信息至少应该包含 是否在主进程 是否在主线程 等可以帮助程序员定位的 ...

[Codeforces 235B]Let's Play Osu!

Description 题库链接 有一个长度为 \(n\) 的 "XO" 序列,其中第 \(i\) 个位置 "O" 出现的概率为 \(p_i\) .一个序列的价 ...

剑指offer-int类型负数补码中1的个数-位操作

在java中Interger类型表示的最大数是 System.out.println(Integer.MAX_VALUE);//打印最大整数:2147483647 这个最大整数的二进制表示,头部少了一 ...

踩坑留印,启动进程遇到报错:/proc/self/fd/9: 2: ulimit: bad number

启动进程,遇到报错: /proc/self/fd/9: 2: ulimit: bad number 分析配置文件内容没有错误. 怀疑可能是文件格式问题,在IDE里面查看,果然是windows格式.ID ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值