mysql中对于时间的处理,时间的滚动,求时间间隔,切换时区等等

在mysql的使用过程中,有时候会出现对时间进行的操作,比如时间向前向后滚动,求2个时间的间隔,或者切换时区的操作

1,时间向前滚动(未来),假如现在有一个开始时间,持续时间,而我的业务只希望知道结束时间,这个时候就需要用到TIMESTAMPADD函数,

  DATE_ADD(date,INTERVAL expr type)

  date 参数是合法的日期表达式,可以是你需要的时间字段,如start_time(假设这是一个字段名)。

  INTERVAL 是固定语法关键词

  expr 参数是您希望添加的时间间隔,如 1  2  5。

  type 参数可以是下列值:

    FRAC_SECOND。毫秒

    SECOND。秒
    MINUTE。分钟
    HOUR。小时
    DAY。天
    WEEK。星期
    MONTH。月
    QUARTER。季度
    YEAR。年

2, 时间向后滚动(过去),和上面的用法类似,不过这次用的是DATE_SUB函数

  DATE_ADD(date,INTERVAL expr type)

  date 参数是合法的日期表达式,可以是你需要的时间字段,如start_time(假设这是一个字段名)。

  INTERVAL 是固定语法关键词

  expr 参数是您希望添加的时间间隔,如 1  2  5。

  type 参数可以是下列值:

    FRAC_SECOND。毫秒

    SECOND。秒
    MINUTE。分钟
    HOUR。小时
    DAY。天
    WEEK。星期
    MONTH。月
    QUARTER。季度
    YEAR。年
  

3,求2个时间的间隔,使用TIMESTAMPDIFF函数,

  语法:
    TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)。

    TIMESTAMPDIFF是语法关键词

    interval是以什么精度返回

    datetime_expr1,第一个时间

    datetime_expr2,另一个时间
  说明:
    返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。该参数必须是以下值的其中一个:
    FRAC_SECOND。表示间隔是毫秒
    SECOND。秒
    MINUTE。分钟
    HOUR。小时
    DAY。天
    WEEK。星期
    MONTH。月
    QUARTER。季度
    YEAR。年

4, 切换时区的方法,在切换时区的时候考虑到日期变更线的问题,所以采用mysql自带的函数显然是明智之选

  CONVERT_TZ(dt,from_tz,to_tz)

  转换datetime值dt,从 from_tz 由给定转到 to_tz 时区给出的时区,并返回的结果值。 如果参数无效该函数返回NULL。

  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)
  时区方法原地址https://www.yiibai.com/mysql/mysql_function_convert_tz.html

mysql中对于时间的处理,时间的滚动,求时间间隔,切换时区等等的更多相关文章

  1. 项目中 mysql中的内容关于上架时间和下架时间

    隐藏左边导航 在mysql中,是存放的10位的时间截,在后台添加时,时间的格式是:'Y-m-d H:i',没有秒的 字段 字段名称 字段类型 是否为空 默认值 备注 publish_up int(11 ...

  2. 怎样在mybatis里向mysql中插入毫秒数的时间?

    由于业务场景需求,需要记录精准的时间,但是呢,又不要想使用int类型来存储时间,因为这样的可读性比较差了. 怎样在mybatis中向数据库插入毫秒级别的时间呢? 首先,先来看看怎样向数据库中插入毫秒时 ...

  3. MySQL中常用到的关于时间的SQL

    -- 今天 SELECT DATE_FORMAT(NOW(),'%Y-%m-%d 00:00:00') AS dayStart;SELECT DATE_FORMAT(NOW(),'%Y-%m-%d 2 ...

  4. mysql中独立表空间与共享表空间之前如何切换

    环境 mysql版本:5.7.19 官方文档:(https://dev.mysql.com/doc/refman/5.7/en/innodb-multiple-tablespaces.html) 查看 ...

  5. mysql中的timestamp类型时间比较:unix_timestamp函数

    在mysql中,某字段的类型设置为了timestamp,那么我们现在希望取出指定时间段的记录,该如何做呢? 在php中有time()和strtotime()来进行日期和时间戳的格式化,而在mysql中 ...

  6. mysql中的date、datetime、timestamp你还不知道怎么使用吗

    在后端开发中经常会碰到涉及数据库的场景,不知道屏幕前的你有这样的疑惑没有,每每在遇到时间.日期字段总是让人头疼,分不清到底是选date还是datetime,亦或是timestamp,真是抓耳挠腮啊,怎 ...

  7. MySQL 中 datetime 和 timestamp 的区别与选择

    MySQL 中常用的两种时间储存类型分别是datetime和 timestamp.如何在它们之间选择是建表时必要的考虑.下面就谈谈他们的区别和怎么选择. 1 区别 1.1 占用空间 类型 占据字节 表 ...

  8. MySql中时间比较的实现

        unix_timestamp 函数可以接受一个参数,也可以不使用参数.它的返回值是一个无符号的整数.不使用参数,它返回自1970年1月1日0时0分0秒到现在所经过的秒数,如果 使用参数,参数的 ...

  9. mysql中获取一天、一周、一月时间数据的各种sql语句写法

    今天抽时间整理了一篇mysql中与天.周.月有关的时间数据的sql语句的各种写法,部分是收集资料,全部手工整理,自己学习的同时,分享给大家,并首先默认创建一个表.插入2条数据,便于部分数据的测试,其中 ...

  10. MYSQL 中常用日期时间函数使用

    MySQL Date 函数 下面的表格列出了 MySQL 中最重要的内建日期函数: 函数 描述 NOW() 返回当前的日期和时间 CURDATE() 返回当前的日期 CURTIME() 返回当前的时间 ...

随机推荐

  1. VC学习笔记----STL库

      STL = Standard Template Library,标准模板库,惠普实验室开发的一系列软件的统称.它是由Alexander Stepanov.Meng Lee和David R Muss ...

  2. java 从网上下载文件的几种方式

    package com.github.pandafang.tool; import java.io.BufferedOutputStream; import java.io.File; import ...

  3. C#获取apk版本信息

    获取很多人都会问我为什么要写这个博客,原因很简单,这次研发apk版本信息的时候网上查了很多的资料都没有这方面的信息,因此这次功能完了想写下方法,如果以后博友们遇到了可以直接copy,不用花很多的时间, ...

  4. Java基础之final和static关键字

    一.final        根据程序上下文环境,它可以修饰非抽象类.非抽象类成员方法和变量.         final类不能被继承,没有子类,final类中的方法默认是final的.        ...

  5. python3 报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd6 in position 201: invalid continuation byte

    代码: # -*- coding:utf-8 -*- from urllib import request resp = request.urlopen('http://www.xxx.com') p ...

  6. notepad ++ 编辑 powershell profile 文件时的诡异问题

    使用notepad 编辑 C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1 时,记事本打开和用notepad++打开显示的内容居然不一样. ...

  7. 如何深入理解一套MQ消息中间件

    怎样算是理解了一套MQ中间件呢?原来一知半解的我列了几个维度:demo跑起来,理解其投递次数的语义,理解其事务的特性等等.这是一种角度,但总有种看山不是山的一知半解的感觉.再问一层,比如为什么Kafk ...

  8. Fcoin和Coinex,谁更值得投资?

    2018年是数字货币市场很熊的一年,大部分币种在这一年下跌超过了90%.但是这一年对于数字货币的发展也是不平凡的,可以说是至关重要的一年.通证经济商业模型在这一年萌芽,并茁壮成长,2018是通证经济元 ...

  9. mangodb驱动编译

    1.Installing the MongoDB C Driver (libmongoc) and BSON library (libbson) Building on Windows with Vi ...

  10. dia无法输入中文的解决

    安装dia后无法输入中文,解决如下: 修改/usr/bin/dia #dia-normal --integrated "$@" dia-normal "$@"