search
HomeDatabaseMysql TutorialMySQL时间日期相关函数使用
MySQL时间日期相关函数使用Jun 07, 2016 pm 04:24 PM
mysqlusefunctionapplicationdatabasedatetimeRelated

数据库应用中对日期和时间的操作是非常常用的,MySQL自带了许多很有用的函数,可以帮助我们便捷地实现某些需求。下面我们来介绍一下相关的MySQL日期与实践函数。 获取当前日期: mysql> SELECT curdate();+------------+| curdate() |+------------+| 2010-1

数据库应用中对日期和时间的操作是非常常用的,MySQL自带了许多很有用的函数,可以帮助我们便捷地实现某些需求。下面我们来介绍一下相关的MySQL日期与实践函数。

获取当前日期:

mysql> SELECT curdate();
+------------+
| curdate()  |
+------------+
| 2010-11-16 |
+------------+
1 row in set
mysql> SELECT CURRENT_DATE();
+----------------+
| CURRENT_DATE() |
+----------------+
| 2010-11-16     |
+----------------+
1 row in set

获取当前时间:

mysql> SELECT curtime();
+-----------+
| curtime() |
+-----------+
| 12:48:40  |
+-----------+
1 row in set
mysql> SELECT CURRENT_TIME();
+----------------+
| CURRENT_TIME() |
+----------------+
| 12:49:00       |
+----------------+
1 row in set

获取当前时间日期:

mysql> SELECT now();
+---------------------+
| now()               |
+---------------------+
| 2010-11-16 12:50:39 |
+---------------------+
1 row in set
mysql> SELECT CURRENT_TIMESTAMP();
+---------------------+
| CURRENT_TIMESTAMP() |
+---------------------+
| 2010-11-16 12:51:01 |
+---------------------+
1 row in set

注意:在一个单一询问中,对诸如NOW() 的函数多次访问总是会得到同样的结果。

日期增减:

DATE_ADD(date,INTERVAL expr type)
DATE_SUB(date,INTERVAL expr type)

这些函数执行日期运算。

  • date 是一个 DATETIME 或DATE值,用来指定起始时间。
  • expr 是一个表达式,用来指定从起始日期添加或减去的时间间隔值。 Expr是一个字符串;对于负值的时间间隔,它可以以一个 '-'开头。
  • type 为关键词,它指示了表达式被解释的方式。
  • 关键词INTERVA及 type 分类符均不区分大小写。

MySQL 允许任何expr 格式中的标点分隔符。表中所显示的是建议的 分隔符。若 date 参数是一个 DATE 值,而你的计算只会包括 YEAR、MONTH和DAY部分(即, 没有时间部分), 其结果是一个DATE 值。否则,结果将是一个 DATETIME值。

指定日期1秒后:

mysql> SELECT DATE_ADD('2010-12-31 23:59:59', INTERVAL 1 SECOND);
+----------------------------------------------------+
| DATE_ADD('2010-12-31 23:59:59', INTERVAL 1 SECOND) |
+----------------------------------------------------+
| 2011-01-01 00:00:00                                |
+----------------------------------------------------+
1 row in set

指定日期1天后:

mysql> SELECT DATE_ADD('2010-12-31 23:59:59', INTERVAL 1 DAY);
+-------------------------------------------------+
| DATE_ADD('2010-12-31 23:59:59', INTERVAL 1 DAY) |
+-------------------------------------------------+
| 2011-01-01 23:59:59                             |
+-------------------------------------------------+
1 row in set

指定日期减去10小时:

mysql> SELECT DATE_ADD('2011-01-01 00:00:00', INTERVAL '-1 10' DAY_HOUR);
+------------------------------------------------------------+
| DATE_ADD('2011-01-01 00:00:00', INTERVAL '-1 10' DAY_HOUR) |
+------------------------------------------------------------+
| 2010-12-30 14:00:00                                        |
+------------------------------------------------------------+
1 row in set

指定日期的一个月前:

mysql> SELECT DATE_SUB('2011-01-02', INTERVAL 31 DAY);
+-----------------------------------------+
| DATE_SUB('2011-01-02', INTERVAL 31 DAY) |
+-----------------------------------------+
| 2010-12-02                              |
+-----------------------------------------+
1 row in set

指定日期的前一天:

mysql> SELECT date_add('2011-01-01', INTERVAL -1 DAY);
+-----------------------------------------+
| date_add('2011-01-01', INTERVAL -1 DAY) |
+-----------------------------------------+
| 2010-12-31                              |
+-----------------------------------------+
1 row in set

将日期时间转换成指定格式:

DATE_FORMAT(date,format)

根据format 字符串安排date 值的格式。所有其它字符都被复制到结果中,无需作出解释。注意,'%'字符要求在格式指定符之前。月份和日期说明符的范围从零开始,原因是 MySQL允许存储诸如 '2004-00-00'的不完全日期。

mysql> SELECT DATE_FORMAT( FROM_UNIXTIME( 1290996580 ), '%Y-%m-%d %H:%i:%s' );
+-----------------------------------------------------------------+
| DATE_FORMAT( FROM_UNIXTIME( 1290996580 ), '%Y-%m-%d %H:%i:%s' ) |
+-----------------------------------------------------------------+
| 2010-11-29 10:09:40                                             |
+-----------------------------------------------------------------+
1 row in set
mysql> SELECT DATE_FORMAT( FROM_UNIXTIME( 1290996580 ) , '%Y-%m-%d' );
+---------------------------------------------------------+
| DATE_FORMAT( FROM_UNIXTIME( 1290996580 ) , '%Y-%m-%d' ) |
+---------------------------------------------------------+
| 2010-11-29                                              |
+---------------------------------------------------------+
1 row in set

下面两个函数

FROM_UNIXTIME(unix_timestamp) ,
FROM_UNIXTIME(unix_timestamp,format)

返回'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS 格式值的unix_timestamp参数表示,具体格式取决于该函数是否用在字符串中或是数字语境中。

若format 已经给出,则结果的格式是根据format 字符串而定。 format 可以包含同DATE_FORMAT() 函数输入项列表中相同的说明符。

mysql> SELECT FROM_UNIXTIME(875996580);
+--------------------------+
| FROM_UNIXTIME(875996580) |
+--------------------------+
| 1997-10-05 04:23:00      |
+--------------------------+
1 row in set
mysql> SELECT FROM_UNIXTIME(875996580) + 0;
+------------------------------+
| FROM_UNIXTIME(875996580) + 0 |
+------------------------------+
|        19971005042300.000000 |
+------------------------------+
1 row in set

MySql unix时间转换成SQLServer适用的时间格式:

mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y-%m-%d %H:%i:%s');
+------------------------------------------------------+
| FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y-%m-%d %H:%i:%s') |
+------------------------------------------------------+
| 2010-11-16 19:12:11                                  |
+------------------------------------------------------+
1 row in set
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
图文详解mysql架构原理图文详解mysql架构原理May 17, 2022 pm 05:54 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

mysql怎么去掉第一个字符mysql怎么去掉第一个字符May 19, 2022 am 10:21 AM

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

mysql的msi与zip版本有什么区别mysql的msi与zip版本有什么区别May 16, 2022 pm 04:33 PM

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

mysql怎么替换换行符mysql怎么替换换行符Apr 18, 2022 pm 03:14 PM

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

mysql怎么将varchar转换为int类型mysql怎么将varchar转换为int类型May 12, 2022 pm 04:51 PM

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

MySQL复制技术之异步复制和半同步复制MySQL复制技术之异步复制和半同步复制Apr 25, 2022 pm 07:21 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

mysql怎么判断是否是数字类型mysql怎么判断是否是数字类型May 16, 2022 am 10:09 AM

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

带你把MySQL索引吃透了带你把MySQL索引吃透了Apr 22, 2022 am 11:48 AM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)