zoukankan      html  css  js  c++  java
  • MySql 日期函数

    在 MySql 中经常会用到日期,关于常用的日期函数,做了以下的总结:

      1 . now()

        作用; 获取当前的日期

       除此之外,获取当前日期的函数还有: current_timestamp(); current_time; localtime(); localtime; localtimestamp(); localtimestamp;但是这些日期函数,与 now() 的效果相同, 为了方便记忆,建议使用 now() 来代替上面的函数。

    mysql> select now();
    +---------------------+
    | now()               |
    +---------------------+
    | 2015-05-13 14:54:56 |
    +---------------------+
    1 row in set
    
    mysql> select datediff(now(),'2015-1-1');
    +----------------------------+
    | datediff(now(),'2015-1-1') |
    +----------------------------+
    |                        132 |
    +----------------------------+
    1 row in set
    
    mysql> select localtime();
    +---------------------+
    | localtime()         |
    +---------------------+
    | 2015-05-13 14:58:52 |
    +---------------------+
    1 row in set
    
    mysql> select current_timestamp();
    +---------------------+
    | current_timestamp() |
    +---------------------+
    | 2015-05-13 14:59:05 |
    +---------------------+
    1 row in set
    
    mysql> select localtime;
    +---------------------+
    | localtime           |
    +---------------------+
    | 2015-05-13 14:59:17 |
    +---------------------+
    1 row in set
    
    mysql> select localtimestamp;
    +---------------------+
    | localtimestamp      |
    +---------------------+
    | 2015-05-13 14:59:30 |
    +---------------------+
    1 row in set
    
    mysql> select localtimestamp();
    +---------------------+
    | localtimestamp()    |
    +---------------------+
    | 2015-05-13 14:59:34 |
    +---------------------+
    1 row in set
    
    mysql> select sysdate();
    +---------------------+
    | sysdate()           |
    +---------------------+
    | 2015-05-13 15:00:26 |
    +---------------------+
    1 row in set

    2. sysdate()

     作用: 这个日期函数与 now() 类似,不同的地方是:  now() 在执行开始时就得到的确定,而 sysdate() 则是在运行时动态得到 值。

     如下所示:

    mysql> select now(), sleep(30), now();
    +---------------------+-----------+---------------------+
    | now()               | sleep(30) | now()               |
    +---------------------+-----------+---------------------+
    | 2015-05-13 15:01:49 |         0 | 2015-05-13 15:01:49 |
    +---------------------+-----------+---------------------+
    1 row in set
    
    mysql> select sysdate(), sleep(30), sysdate();
    +---------------------+-----------+---------------------+
    | sysdate()           | sleep(30) | sysdate()           |
    +---------------------+-----------+---------------------+
    | 2015-05-13 15:02:52 |         0 | 2015-05-13 15:03:22 |
    +---------------------+-----------+---------------------+
    1 row in set
    

      在用 now() 时,在途中 sleep 了 30秒 ,但是 Now() 的结果是相同的, 而在 sysdate() 中 sleep 了 30秒, 结果就不同了,结果是 sleep 30 秒后的值

    3.  curdate()

      作用; 获取当前日期

       函数 current_date(); current_date; 与 curdate() 功能一样

    mysql> select curdate();
    +------------+
    | curdate()  |
    +------------+
    | 2015-05-13 |
    +------------+
    1 row in set

    mysql> select current_date();
    +----------------+
    | current_date() |
    +----------------+
    | 2015-05-13     |
    +----------------+
    1 row in set

    mysql> select current_date;
    +--------------+
    | current_date |
    +--------------+
    | 2015-05-13   |
    +--------------+
    1 row in set

     4. curtime()

       作用: 获取当前时间 ,其功能与 current_time current_time() 是一样的

    mysql> select curtime();
    +-----------+
    | curtime() |
    +-----------+
    | 15:04:42  |
    +-----------+
    1 row in set
    
    mysql> select current_time();
    +----------------+
    | current_time() |
    +----------------+
    | 15:05:05       |
    +----------------+
    1 row in set
    
    mysql> select current_time;
    +--------------+
    | current_time |
    +--------------+
    | 15:05:09     |
    +--------------+
    1 row in set
    

     5. utc_date(); utc_time(); utc_timestamp();

      作用: 获取当前 utc 时间的函数

    mysql> select utc_timestamp(), utc_date(),utc_time(),now();
    +---------------------+------------+------------+---------------------+
    | utc_timestamp()     | utc_date() | utc_time() | now()               |
    +---------------------+------------+------------+---------------------+
    | 2015-05-13 07:05:51 | 2015-05-13 | 07:05:51   | 2015-05-13 15:05:51 |
    +---------------------+------------+------------+---------------------+
    1 row in set
    

     6. date(); year(); month(); day(); time(); week(); hour(); minute(); second(); microsecond();

     作用; 获取日期中的部分值

    mysql> set @date='2015-05-05 14:23:34.345687'
        ->  select  date(@date)
        ->  select time(@date)
        -> select year(@date)
        -> select quarter(@date)
        -> select month(@date)
        -> select week(@date)
        -> select day(@date)
        -> select hour(@date)
        -> select minute(@date)
        -> select second(@date)
        -> select microsecond(@date);
    

     7. extract()

      作用: 和上面所列举的函数功能一样, 只是函数的书写方式不同

    mysql> set @date='2015-05-05 14:23:34.345687'
        ->  select  extract(year from  @date)
    

    8.  last_day() 

     作用: 返回月份的最后一天

    9. datedifff()

      作用: 计算两个日期间的相差的天数

    mysql> select datediff(now(),'2015-05-05');   
    +------------------------------+
    | datediff(now(),'2015-05-05') |
    +------------------------------+
    |                            8 |
    +------------------------------+
    

    10. str_to_date(str,format)

     作用: 可以把一些杂乱无章的字符串转换成日期格式,也可以转换成时间

    有关更多的 Mysql 函数,可以参考 Mysql 在线手册:http://www.cbi.pku.edu.cn/chinese/documents/csdoc/mysql/manual_toc.html

        

  • 相关阅读:
    Interview with BOA
    Java Main Differences between HashMap HashTable and ConcurrentHashMap
    Java Main Differences between Java and C++
    LeetCode 33. Search in Rotated Sorted Array
    LeetCode 154. Find Minimum in Rotated Sorted Array II
    LeetCode 153. Find Minimum in Rotated Sorted Array
    LeetCode 75. Sort Colors
    LeetCode 31. Next Permutation
    LeetCode 60. Permutation Sequence
    LeetCode 216. Combination Sum III
  • 原文地址:https://www.cnblogs.com/wisdo/p/4500805.html
Copyright © 2011-2022 走看看