mysql 时间和日期函数学习

mysql 时间和日期函数学习

为了方便使用了比较智能的mysql客户端工具mycli,关于这个工具的介绍可以在另一篇文章(http://watchman110.blog.51cto.com/9194028/1687953)里了解!

1,now()函数,获得当前日期和时间

mysql [email protected]:(none)> SELECT NOW()
+---------------------+
| NOW()       |
|---------------------|
|2015-08-25 10:47:54 |
+---------------------+

2,sysdate()函数,获得当前日期和时间

mysql [email protected]:(none)> SELECT SYSDATE()
+---------------------+
| SYSDATE()     |
|---------------------|
|2015-08-25 10:49:43 |
+---------------------+

now()函数,和sysdate()函数作用类似,区别如下:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值

mysql [email protected]:(none)> SELECT NOW(),sleep(2),NOW()
+---------------------+------------+---------------------+
| NOW()          |   sleep(2) | NOW()  |
|---------------------+------------+---------------------|
| 2015-08-25 10:51:18 |       0 | 2015-08-25 10:51:18 |
+---------------------+------------+---------------------+
mysql [email protected]:(none)> SELECT SYSDATE(),sleep(2),SYSDATE()
+---------------------+------------+---------------------+
| SYSDATE()       |   sleep(2) | SYSDATE() |
|---------------------+------------+---------------------|
| 2015-08-25 10:52:01 |       0 | 2015-08-25 10:52:03 |
+---------------------+------------+---------------------+

3,current_time(),curtime()函数,获得当前时间的函数

mysql [email protected]:(none)> SELECT CURRENT_TIME()
+------------------+
| CURRENT_TIME()  |
|------------------|
| 10:57:47      |
+------------------+
mysql [email protected]:(none)> SELECT CURTIME()
+-------------+
| CURTIME()  |
|-------------|
| 10:57:55   |
+-------------+

4,current_date(),curdate()函数,获得当前日期的函数

mysql [email protected]:(none)> SELECT CURRENT_DATE()
+------------------+
| CURRENT_DATE()  |
|------------------|
| 2015-08-25     |
+------------------+
mysql [email protected]:(none)> SELECT CURDATE()
+-------------+
| CURDATE()  |
|-------------|
| 2015-08-25 |
+-------------+

5,current_timestamp()函数,获得当前时间戳的函数

mysql [email protected]:(none)> SELECT CURRENT_TIMESTAMP()
+-----------------------+
| CURRENT_TIMESTAMP()  |
|-----------------------|
| 2015-08-25 11:00:21  |
+-----------------------+

6,date_format(date,format)函数,日期格式转换函数,将日期转化为字符串形式

mysql [email protected]:(none)> SELECT curdate(),DATE_FORMAT(curdate(),‘%Y%m%d‘);
+-------------+-----------------------------------+
| curdate()   |   DATE_FORMAT(curdate(),‘%Y%m%d‘) |
|-------------+-----------------------------------|
| 2015-08-25  |                          20150825 |
+-------------+-----------------------------------+

7,time_format(time,format)函数,时间转换函数,将时间转化为字符串形式

mysql [email protected]:(none)> SELECT curtime(),time_format(curtime(),‘%H%i%s‘)
+-------------+-----------------------------------+
| curtime()   |   time_format(curtime(),‘%H%i%s‘)|
|-------------+----------------------------------- |
| 11:15:17    |                 111517  |
+-------------+-----------------------------------+

上面函数的逆函数str_to_date()函数

mysql [email protected]:(none)> SELECT str_to_date(‘20150311‘,‘%Y%m%d‘)
+------------------------------------+
| str_to_date(‘20150311‘,‘%Y%m%d‘)  | 
|------------------------------------|
| 2015-03-11                 |
+------------------------------------+
mysql [email protected]:(none)> SELECT str_to_date(‘121409‘,‘%H%i%s‘)
+----------------------------------+
| str_to_date(‘121409‘,‘%H%i%s‘)   |
|----------------------------------|
| 12:14:09                         |
+----------------------------------+
mysql [email protected]:(none)> SELECT str_to_date(‘20150903120000‘,‘%Y%m%d%H%i%s‘)
+------------------------------------------------+
| str_to_date(‘20150903120000‘,‘%Y%m%d%H%i%s‘)   |
|------------------------------------------------|
| 2015-09-03 12:00:00                            |
+------------------------------------------------+

8,unix_timestamp()函数,将时间转化为时间戳的函数

mysql [email protected]:(none)> SELECT unix_timestamp()
+--------------------+
|  unix_timestamp() |
|--------------------|
|      1440474909 |
+--------------------+
mysql [email protected]:(none)> SELECT unix_timestamp(‘2015-09-03‘)
+--------------------------------+
|   unix_timestamp(‘2015-09-03‘) |
|--------------------------------|
|                     1441209600 |
+--------------------------------+
mysql [email protected]:(none)> SELECT unix_timestamp(‘2015-09-03 01:00:00‘)
+-----------------------------------------+
|   unix_timestamp(‘2015-09-03 01:00:00‘) |
|-----------------------------------------|
|                              1441213200 |
+-----------------------------------------+
9,from_unixtime(unix_timestamp)函数,将时间戳转换为时间字符串
mysql [email protected]:(none)> SELECT from_unixtime(1441209600)
+-----------------------------+
| from_unixtime(1441209600)   |
|-----------------------------|
| 2015-09-03 00:00:00         |
+-----------------------------+
mysql [email protected]:(none)> SELECT from_unixtime(1441209600,‘%Y%m%d %H:%i:%s‘)
+-----------------------------------------------+
| from_unixtime(1441209600,‘%Y%m%d %H:%i:%s‘)   |
|-----------------------------------------------|
| 20150903 00:00:00                             |
+-----------------------------------------------+

10,date_add()函数,日期计算函数

mysql [email protected]:(none)> SELECT date_add(now(),interval 1 year)
+-----------------------------------+
| date_add(now(),interval 1 year)   |
|-----------------------------------|
| 2016-08-25 13:53:16               |
+-----------------------------------+
mysql [email protected]:(none)> SELECT date_add(now(),interval 1 month)
+------------------------------------+
| date_add(now(),interval 1 month)   |
|------------------------------------|
| 2015-09-25 13:54:38                |
+------------------------------------+
mysql [email protected]:(none)> SELECT date_add(now(),interval 1 week)

mysql [email protected]:(none)> SELECT date_add(now(),interval 1 day)

mysql [email protected]:(none)> SELECT date_add(now(),interval 1 hour)

mysql [email protected]:(none)> SELECT date_add(now(),interval 1 minute)

mysql [email protected]:(none)> SELECT date_add(now(),interval 1 second)

同理 -1 指的是一年/月/日/天/时/分/秒以前
mysql [email protected]:(none)> SELECT date_add(now(),interval -1 year)
+------------------------------------+
| date_add(now(),interval -1 year)   |
|------------------------------------|
| 2014-08-25 13:57:46                |
+------------------------------------+

11,datediff(date1,date2),日期相减函数,返回的是天数
mysql [email protected]:(none)> SELECT datediff(‘2015-09-03‘,‘2015--8-25‘)
+---------------------------------------+
|   datediff(‘2015-09-03‘,‘2015--8-25‘) |
|---------------------------------------|
|                                     9 |
+---------------------------------------+
mysql [email protected]:(none)> SELECT datediff(‘2015--8-25‘,‘2015-09-03‘)
+---------------------------------------+
|   datediff(‘2015--8-25‘,‘2015-09-03‘) |
|---------------------------------------|
|                                    -9 |
+---------------------------------------+

12,timediff(time1,time2),时间相减函数,返回的是时间差值
mysql [email protected]:(none)> SELECT timediff(‘12:37:33‘,‘12:35:32‘)
+-----------------------------------+
| timediff(‘12:37:33‘,‘12:35:32‘)   |
|-----------------------------------|
| 0:02:01                           |
+-----------------------------------+
mysql [email protected]:(none)> SELECT timediff(‘12:35:32‘,‘12:37:33‘)
+-----------------------------------+
| timediff(‘12:35:32‘,‘12:37:33‘)   |
|-----------------------------------|
| -1 day, 23:57:59                  |
+-----------------------------------+

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

mysql [email protected]:(none)> select timestamp(‘2013-08-25‘);
+---------------------------+
| timestamp(‘2013-08-25‘)   |
|---------------------------|
| 2013-08-25 00:00:00       |
+---------------------------+
mysql [email protected]:(none)> select timestamp(‘2013-08-25‘,‘01:00:00‘);
+--------------------------------------+
| timestamp(‘2013-08-25‘,‘01:00:00‘)   |
|--------------------------------------|
| 2013-08-25 01:00:00                  |
+--------------------------------------+

14,timestampadd(),函数类似于 date_add(),强大于date_add()

mysql [email protected]:(none)> select timestampdiff(year,‘2013-01-01‘,‘2015-01-01‘)
+-------------------------------------------------+
|   timestampdiff(year,‘2013-01-01‘,‘2015-01-01‘) |
|-------------------------------------------------|
|                                               2 |
+-------------------------------------------------+
mysql [email protected]:(none)> select timestampdiff(month,‘2013-01-01‘,‘2015-03-01‘)
+--------------------------------------------------+
|   timestampdiff(month,‘2013-01-01‘,‘2015-03-01‘) |
|--------------------------------------------------|
|                                               26 |
+--------------------------------------------------+
mysql [email protected]:(none)> select timestampdiff(day,‘2013-01-01‘,‘2015-03-01‘)
+------------------------------------------------+
|   timestampdiff(day,‘2013-01-01‘,‘2015-03-01‘) |
|------------------------------------------------|
|                                            789 |
+------------------------------------------------+
mysql [email protected]:(none)> select timestampdiff(hour,‘2013-01-01‘,‘2015-03-01‘)
+-------------------------------------------------+
|   timestampdiff(hour,‘2013-01-01‘,‘2015-03-01‘) |
|-------------------------------------------------|
|                                           18936 |
+-------------------------------------------------+
mysql [email protected]:(none)> select timestampdiff(second,‘2013-01-01‘,‘2015-03-01‘)
+---------------------------------------------------+
|   timestampdiff(second,‘2013-01-01‘,‘2015-03-01‘) |
|---------------------------------------------------|
|                                          68169600 |
+---------------------------------------------------+
时间: 2024-10-08 02:41:39

mysql 时间和日期函数学习的相关文章

mysql 中 时间和日期函数

原文链接: mysql 中 时间和日期函数 - redfox - 博客园 http://www.cnblogs.com/redfox241/archive/2009/07/23/1529092.html ----------------------------------------------------------------------------------------------------------------------------------------------------

mysql 中时间和日期函数应用

一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | now() | +---------------------+ | 2015-01-22 22:20:46 | +---------------------+ 除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数: current_timestamp() ,current_

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

一.秒数和时钟格式的互相转化 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_

mysql 时间字段的函数 timestamp

Mysql 里格式 时间字段的函数 DATE_FORMAT unix_timestamp - 墨墨修行的日志 - 网易博客http://jjuanxi.blog.163.com/blog/static/175274197201121011310826/

MYSQL常用函数(时间和日期函数)

CURDATE()或CURRENT_DATE() 返回当前的日期 CURTIME()或CURRENT_TIME() 返回当前的时间 DATE_ADD(date,INTERVAL int keyword)返回日期date加上间隔时间int的结果(int必须按照关键字进行格式化),如:SELECTDATE_ADD(CURRENT_DATE,INTERVAL 6 MONTH); DATE_FORMAT(date,fmt) 依照指定的fmt格式格式化日期date值 DATE_SUB(date,INTER

MYSQL基础03(日期函数)

工作中对日期的处理是经常遇到的,需求可能多种多样,因此重点介绍. 1.获取当前日期 select NOW() -- 结果:2015-10-28 22:41:11 select NOW(),SLEEP(3),NOW() -- 结果 2015-10-28 22:43:34 0 2015-10-28 22:43:34 SELECT SYSDATE(),SLEEP(3),SYSDATE() -- 结果 2015-10-28 22:46:48 0 2015-10-28 22:46:52 -- NOW()是

mysql-查询一天,一周,一月,一年,以及mysql的基本日期函数

查询一天: select * from table where to_days(column_time) = to_days(now()); select * from table where date(column_time) = curdate(); 查询一周: select * from table where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(column_time); 查询一个月: select * from table where

C++ 第十课:标准c时间与日期函数

asctime() 时间文本格式 clock() 返回自程序开始运行所经过的时间 ctime() 返回特定格式时间 difftime() 两时刻的间隔 gmtime() 返回指向当前格林威治时间的指针 localtime() 返回指向当前时间的指针 mktime() 返回指定时间的日历格式 strftime() 返回日期和时间的单个元素 time() 返回系统的当前日历时间 asctime 语法:     #include <time.h>   char *asctime( const str

Oracle中时间和日期函数总结

查看当前日期格式:select * from nls_session_parameters where parameter='NLS_DATE_FORMAT'; 修改日期的格式: alter session set nls_date_format = 'yyyy-mm-dd'; 永久设置日期格式:改注册表oracle/HOME0 加字符串NLS_DATE_FORMAT 值yyyy-mm-dd: 1.dd-mon-yy转换为yyyy-mm-dd select to_char(to_date('01