mysql中函数random_MySql 时间函数

+------------+-----------+---------------------+-------------+---------------------+

| curdate() | curtime() | now() | DATE(now()) | sysdate() |

+------------+-----------+---------------------+-------------+---------------------+

| 2008-12-02 | 10:11:36 | 2008-12-02 10:11:36 | 2008-12-02 | 2008-12-02 10:11:36 |

+------------+-----------+---------------------+-------------+---------------------+

1 row in set (0.00 sec)

mysql> SELECT CURDATE(),CURDATE()+0,CURTIME(),CURTIME()+0;

+------------+-------------+-----------+---------------+

| CURDATE() | CURDATE()+0 | CURTIME() | CURTIME()+0 |

+------------+-------------+-----------+---------------+

| 2008-12-02 | 20081202 | 10:00:33 | 100033.000000 |

+------------+-------------+-----------+---------------+

1 row in set (0.00 sec)

--返回日期当月最后一天

mysql> select last_day(\'2008-12-02\');

+------------------------+

| last_day(\'2008-12-02\') |

+------------------------+

| 2008-12-31 |

+------------------------+

1 row in set (0.00 sec)

--返回日期的星期几

mysql> select dayname(\'2008-12-02\'),dayofweek(\'2008-12-02\');

+-----------------------+-------------------------+

| dayname(\'2008-12-02\') | dayofweek(\'2008-12-02\') |

+-----------------------+-------------------------+

| Tuesday | 3 |

+-----------------------+-------------------------+

1 row in set (0.00 sec)

--返回日期的年,月,日

mysql> select month(\'2008-12-02\'),year(\'2008-12-02\'),day(\'2008-12-02\');

+---------------------+--------------------+-------------------+

| month(\'2008-12-02\') | year(\'2008-12-02\') | day(\'2008-12-02\') |

+---------------------+--------------------+-------------------+

| 12 | 2008 | 2 |

+---------------------+--------------------+-------------------+

1 row in set (0.00 sec)

--返回日期的小时,分,秒

mysql> SELECT HOUR(\'10:05:03\'),MINUTE(\'10:05:03\'),SECOND(\'10:05:03\');

+------------------+--------------------+--------------------+

| HOUR(\'10:05:03\') | MINUTE(\'10:05:03\') | SECOND(\'10:05:03\') |

+------------------+--------------------+--------------------+

| 10 | 5 | 3 |

+------------------+--------------------+--------------------+

1 row in set (0.00 sec)

1.SUBDATE(d,t):起始时间加上一段时间

--返回起始时间加上N天

mysql> SELECT DATE_ADD(\'1998-01-02\', INTERVAL 31 DAY),ADDDATE(\'1998-01-02\', 31);

+-----------------------------------------+---------------------------+

| DATE_ADD(\'1998-01-02\', INTERVAL 31 DAY) | ADDDATE(\'1998-01-02\', 31) |

+-----------------------------------------+---------------------------+

| 1998-02-02 | 1998-02-02 |

+-----------------------------------------+---------------------------+

1 row in set (0.00 sec)

--返回起始时间加上年,月

mysql> SELECT DATE_ADD(\'1998-01-02\', INTERVAL 2 YEAR), DATE_ADD(\'1998-01-02\', INTERVAL 2 MONTH);

+-----------------------------------------+------------------------------------------+

| DATE_ADD(\'1998-01-02\', INTERVAL 2 YEAR) | DATE_ADD(\'1998-01-02\', INTERVAL 2 MONTH) |

+-----------------------------------------+------------------------------------------+

| 2000-01-02 | 1998-03-02 |

+-----------------------------------------+------------------------------------------+

1 row in set (0.00 sec)

--返回起始时间加上小时,加上分钟

mysql> SELECT DATE_ADD(\'1998-01-02\', INTERVAL 2 hour), DATE_ADD(\'1998-01-02\', INTERVAL 2 minute);

+-----------------------------------------+-------------------------------------------+

| DATE_ADD(\'1998-01-02\', INTERVAL 2 hour) | DATE_ADD(\'1998-01-02\', INTERVAL 2 minute) |

+-----------------------------------------+-------------------------------------------+

| 1998-01-02 02:00:00 | 1998-01-02 00:02:00 |

+-----------------------------------------+-------------------------------------------+

1 row in set (0.00 sec)

2.SUBDATE(d,t):起始时间减去一段时间

mysql> SELECT SUBDATE(\'1998-01-02\', INTERVAL 31 DAY),SUBDATE(\'1998-01-02\', 31);

+----------------------------------------+---------------------------+

| SUBDATE(\'1998-01-02\', INTERVAL 31 DAY) | SUBDATE(\'1998-01-02\', 31) |

+----------------------------------------+---------------------------+

| 1997-12-02 | 1997-12-02 |

+----------------------------------------+---------------------------+

1 row in set (0.00 sec)

3.ADDTIME(d,t):起始时间d加入时间t

mysql> SELECT ADDTIME(\'1997-12-31 23:59:50\',\'00:00:05\'), ADDTIME(\'23:59:50\',\'00:00:05\') ;

+-------------------------------------------+--------------------------------+

| ADDTIME(\'1997-12-31 23:59:50\',\'00:00:05\') | ADDTIME(\'23:59:50\',\'00:00:05\') |

+-------------------------------------------+--------------------------------+

| 1997-12-31 23:59:55 | 23:59:55 |

+-------------------------------------------+--------------------------------+

1 row in set (0.00 sec)

4.SUBTIME(d,t):起始时间d减去时间t

mysql> SELECT SUBTIME(\'1997-12-31 23:59:50\',\'00:00:05\'), SUBTIME(\'23:59:50\',\'00:00:05\');

+-------------------------------------------+--------------------------------+

| SUBTIME(\'1997-12-31 23:59:50\',\'00:00:05\') | SUBTIME(\'23:59:50\',\'00:00:05\') |

+-------------------------------------------+--------------------------------+

| 1997-12-31 23:59:45 | 23:59:45 |

+-------------------------------------------+--------------------------------+

1 row in set (0.00 sec)

5.DATEDIFF(d1,d2):返回起始时间d1和结束时间d2之间的天数

mysql> SELECT DATEDIFF(\'1997-12-31 23:59:59\',\'1997-12-30\');

+----------------------------------------------+

| DATEDIFF(\'1997-12-31 23:59:59\',\'1997-12-30\') |

+----------------------------------------------+

| 1 |

+----------------------------------------------+

1 row in set (0.00 sec)

6.DATE_FORMAT(date,format):根据format字符串显示date值的格式

mysql> SELECT DATE_FORMAT(\'2008-12-02 22:23:00\', \'%Y %m %m %H:%i:%s\');

+---------------------------------------------------------+

| DATE_FORMAT(\'2008-12-02 22:23:00\', \'%Y %m %m %H:%i:%s\') |

+---------------------------------------------------------+

| 2008 12 12 22:23:00 |

+---------------------------------------------------------+

1 row in set (0.00 sec)

7.STR_TO_DATE(str,format) 字符串转化为时间

mysql> SELECT STR_TO_DATE(\'04/31/2004\', \'%m/%d/%Y %H:%i:s\');

+-----------------------------------------------+

| STR_TO_DATE(\'04/31/2004\', \'%m/%d/%Y %H:%i:s\') |

+-----------------------------------------------+

| 2004-04-31 00:00:00 |

+-----------------------------------------------+

1 row in set (0.00 sec)

8.TIMESTAMP(expr) , TIMESTAMP(expr,expr2) :

对于一个单参数,该函数将日期或日期时间表达式 expr 作为日期时间值返回.对于两个参数, 它将时间表达式 expr2添加到日期或日期时间表达式 expr 中,将theresult作为日期时间值返回

mysql> SELECT TIMESTAMP(\'2003-12-31\'), TIMESTAMP(\'2003-12-31 12:00:00\',\'12:00:00\');

+-------------------------+---------------------------------------------+

| TIMESTAMP(\'2003-12-31\') | TIMESTAMP(\'2003-12-31 12:00:00\',\'12:00:00\') |

+-------------------------+---------------------------------------------+

| 2003-12-31 00:00:00 | 2004-01-01 00:00:00 |

+-------------------------+---------------------------------------------+

1 row in set (0.00 sec)

--取当天0点0分,下一天0点0分

mysql> select timestamp(date(sysdate())),timestamp(adddate(date(sysdate()),1));

+----------------------------+---------------------------------------+

| timestamp(date(sysdate())) | timestamp(adddate(date(sysdate()),1)) |

+----------------------------+---------------------------------------+

| 2008-12-02 00:00:00 | 2008-12-03 00:00:00 |

+----------------------------+---------------------------------------+

1 row in set (0.00 sec)

时间函数在程序中应用非常广泛,基本上每个程序都会用到,都会和时间打交道,稍微总结了一下,这样可以减少每次去查文档的时间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值