mysql timestampdiff>_「timestampdiff」MySQL timestampdiff()函数 – seo实验室

mysql timestampdiff>_「timestampdiff」MySQL timestampdiff()函数 – seo实验室timestampdiffMySQLTIMESTAMPDIFF函数简介下面说明了TIMESTAMPDIFF函数的语法。TIMESTAMPDIFF(unit,begin,end);TIMESTAMPDIFF函数返回begin-end的结果,其中begin和end是DATE或DATETIME表达式。TIMESTAMPDIFF函数允许其参数具有混合类型,例如,begin是DATE值,end可以是DAT…

大家好,又见面了,我是你们的朋友全栈君。

timestampdiff

MySQL TIMESTAMPDIFF函数简介

下面说明了TIMESTAMPDIFF函数的语法。

TIMESTAMPDIFF(unit,begin,end);

TIMESTAMPDIFF函数返回begin-end的结果,其中begin和end是DATE或DATETIME表达式。

TIMESTAMPDIFF函数允许其参数具有混合类型,例如,begin是DATE值,end可以是DATETIME值。 如果使用DATE值,则TIMESTAMPDIFF函数将其视为时间部分为“00:00:00”的DATETIME值。

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

MICROSECOND

SECOND

MINUTE

HOUR

DAY

WEEK

MONTH

YEAR

MySQL TIMESTAMPDIFF函数示例

以下示例将以月份值的形式返回2018-01-01和2018-06-01的差值:

mysql> SELECT TIMESTAMPDIFF(MONTH, ‘2018-01-01’, ‘2018-06-01’) result;

+——–+

| result |

+——–+

| 5 |

+——–+

1 row in set

如果您希望看到差值,只需要将unit参数从MONTH更改为DAY,如下所示:

mysql> SELECT TIMESTAMPDIFF(DAY, ‘2010-01-01’, ‘2010-06-01’) result;

+——–+

| result |

+——–+

| 151 |

+——–+

1 row in set

以下语句返回两个DATETIME值(以分钟为单位)的差异值:

mysql> SELECT TIMESTAMPDIFF(MINUTE, ‘2018-01-01 10:00:00’, ‘2018-01-01 10:45:00’) result;

+——–+

| result |

+——–+

| 45 |

+——–+

1 row in set

请注意,TIMESTAMPDIFF仅考虑与unit参数相关的时间部分。 请参阅以下示例:

mysql> SELECT TIMESTAMPDIFF(MINUTE, ‘2018-01-01 10:00:00’, ‘2018-01-01 10:45:59’) result;

+——–+

| result |

+——–+

| 45 |

+——–+

1 row in set

差值应该是45分59秒。 但是,我们将unit参数传递为MINUTE,因此,函数按预期返回45分钟。

如果使用SECOND而不是MINUTE,则TIMESTAMPDIFF函数将考虑SECOND部分,如以下示例所示:

mysql> SELECT TIMESTAMPDIFF(SECOND, ‘2018-01-01 10:00:00’, ‘2018-01-01 10:45:59’) result;

+——–+

| result |

+——–+

| 2759 |

+——–+

1 row in set

注:45分59秒= 45×60 + 59(秒)= 2759秒

使用MySQL TIMESTAMPDIFF函数计算年龄

首先,我们创建一个名为persons的新表,用于演示。

USE testdb;

CREATE TABLE persons (

id INT AUTO_INCREMENT PRIMARY KEY,

full_name VARCHAR(255) NOT NULL,

date_of_birth DATE NOT NULL

);

其次,向persons表中插入一些行:

INSERT INTO persons(full_name, date_of_birth)

VALUES(‘John Doe’, ‘1990-01-01’),

(‘David Taylor’, ‘1989-06-06’),

(‘Peter Drucker’, ‘1985-03-02’),

(‘Lily Minsu’, ‘1992-05-05’),

(‘Mary William’, ‘1995-12-01’);

第三步,使用TIMESTAMPDIFF来计算persons表中每个人的年龄:

SELECT

id,

full_name,

date_of_birth,

TIMESTAMPDIFF(YEAR,

date_of_birth,

‘2018-01-01’) age

FROM

persons;

执行上面查询语句,得到以下结果 –

+—-+—————+—————+—–+

| id | full_name | date_of_birth | age |

+—-+—————+—————+—–+

| 1 | John Doe | 1990-01-01 | 28 |

| 2 | David Taylor | 1989-06-06 | 28 |

| 3 | Peter Drucker | 1985-03-02 | 32 |

| 4 | Lily Minsu | 1992-05-05 | 25 |

| 5 | Mary William | 1995-12-01 | 22 |

+—-+—————+—————+—–+

5 rows in set

在此语句中,我们计算到2018-01-01日为止的年龄。如果要计算当前年龄,可以通过NOW函数替换字面值’2018-01-01’,如下所示:

SELECT

id,

full_name,

date_of_birth,

TIMESTAMPDIFF(YEAR,

date_of_birth,

NOW()) age

FROM

persons;

执行上面查询语句,得到以下结果 –

+—-+—————+—————+—–+

| id | full_name | date_of_birth | age |

+—-+—————+—————+—–+

| 1 | John Doe | 1990-01-01 | 27 |

| 2 | David Taylor | 1989-06-06 | 28 |

| 3 | Peter Drucker | 1985-03-02 | 32 |

| 4 | Lily Minsu | 1992-05-05 | 25 |

| 5 | Mary William | 1995-12-01 | 21 |

+—-+—————+—————+—–+

5 rows in set

在写这篇文章时,当前日期是:2017-08-10

在本教程中,您学习了如何使用MySQL TIMESTAMPDIFF函数来计算两个DATE或DATETIME值之间的差值。

相关阅读

1.文件偏移

通常调用read或write每读写一个文件,就会改变文件的读写位置。在linux中同样可以使用lseek函数来修改文件偏移量,即读

greatest (max(one),max(two),max(three))求多列的最大值,oracle中的greatest 函数

已知表TB的数据如下 SQL> select * from tb;

Python product函数介绍

​product(A,B)函数,返回A和B中的元素组成的笛卡尔积的元组,具体见如下代码:import itertools

for item

Pattern.compile函数:Pattern Pattern.compile(String regex, int flag)flag的取值范围如下:Pattern.CANON_EQ,当且仅当两个字符的”

析构函数:在类中声明的一种成员函数①析构函数与类名同名②析构函数无参(不可重载)③表示:

~类名()

{

析构函数体;

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/132923.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 0基础小白想学Python不知道怎么入门从何学起?十分钟带你快速入门 Python(初学者必看,收藏必备!!!)

    0基础小白想学Python不知道怎么入门从何学起?十分钟带你快速入门 Python(初学者必看,收藏必备!!!)十分钟快速入门Python:本文以EricMatthes的《Python编程:从入门到实践》为基础,以有一定其他语言经验的程序员视角,对书中内容提炼总结,化繁为简,将这本书的精髓融合成一篇1

  • 一键制作主题激活码_idea2021永久激活注册码

    一键制作主题激活码_idea2021永久激活注册码Rider激活码最新破解教程,Mac版激活至2299年,Rider激活码2021.3.3

  • Java就业前景和薪资状况,究竟怎么样呢?

    Java就业前景和薪资状况,究竟怎么样呢?在未来5年内,软件人才的需求将远大于供给。Java软件工程师是目前国际高端计算机领域就业薪资较高的一类软件工程师。看到这里有人问了:那Java的现实就业前景和薪资状况,究竟怎么样呢?1、Java工程师就业前景在美国、加拿大、澳大利亚、新加坡等发达国家和中等发达国家,Java软件工程师年薪均在4—15万美金,而在国内,Java软件工程师也有极好的工作机会和很高的薪水。一般情况下的Java软件工程师是分四个等级,从软件技术员到助理软件工程师,再到软件工程师,最后成为高级软件工程师。根据IDC的统计数字,

  • mt4下载和安装好后如何使用呢「建议收藏」

    mt4下载和安装好后如何使用呢「建议收藏」首先要了解一些基本的功能,先来认识一下工具栏。mt4的工具栏有市场报价、导航、新订单、数据窗口以及终端,这些都是很重要的工具。在MT4的窗口上,有交易产品的展示,哪些是可以销售和购买的,以及当前对应产品的价格。另外一个还要经常用到的就是图标数据分析的功能,例如选择图标的形态,时间的管理周期,缩放功能等等。常用的分析工具是K线图的时间周期,可以根据自己需要的时间周期,在工具栏的图标上进行选择,从而对交易产品进行研究观测和分析。另外如果想更加精确,还需要十字光标、划线工具、文字及文字标签进行辅助。.

  • 运维面试题(面前准备)

    运维面试题(面前准备)前段时间一直在面试,也没怎么写博客,现在找到实习工作了,也有时间去写了。在这里分享一下我面试之前做的一些准备。(以下内容是我从网上查找整理得到的…红色标注为面试提及的,但不一定是我整理的内容)TCP/IP简述TCP三次握手的过程?答:在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器…

  • 区块链工程师需要掌握哪些技能?

    作者:Annchain(本文一切著作权归annchain技术团队所有,未经许可,不得转载。若需转载请联系页尾二维码。) 从2017年开始,区块链逐步成为互联网的风口浪尖。曝光度的激增带来了人才市场的火爆。 区块链所要求的知识并非什么特殊的或者新兴的知识,除了密码学领域的知识需要专门了解之外,其他知识和技能几乎都是一些比较通用的网络开发核心知识。 由于区块链行业涉及到的范…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号