MYSQL - datetime to seconds

前端 未结 7 1669
伪装坚强ぢ
伪装坚强ぢ 2020-12-09 01:40

I wasn\'t able to find out (googling, reading mysql reference manual) how to get value of DATETIME in seconds in MySQL.

I dont mean to extract secon

相关标签:
7条回答
  • 2020-12-09 02:18

    If you want to have the difference between two DATETIME values, use TIMESTAMPDIFF:

    TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)

    Returns datetime_expr2 – datetime_expr1, where datetime_expr1 and datetime_expr2 are date or datetime expressions. One expression may be a date and the other a datetime; a date value is treated as a datetime having the time part '00:00:00' where necessary. The unit for the result (an integer) is given by the unit argument. The legal values for unit are the same as those listed in the description of the TIMESTAMPADD() function.

    mysql> SELECT TIMESTAMPDIFF(MONTH,'2003-02-01','2003-05-01');  
        -> 3  
    
    
    
    mysql> SELECT TIMESTAMPDIFF(YEAR,'2002-05-01','2001-01-01');  
        -> -1  
    
    
    mysql> SELECT TIMESTAMPDIFF(MINUTE,'2003-02-01','2003-05-01 12:05:55');  
        -> 128885
    

    unit can also be HOUR which is what you asked for in one of the comments.

    The unit argument can be any of the following:

    • MICROSECOND
    • SECOND
    • MINUTE
    • HOUR
    • DAY
    • WEEK
    • MONTH
    • QUARTER
    • YEAR

    The level of usefulness of some of the other options will of course be determined by the granularity of the data. For instance, "MICROSECOND" will only have limited use if you are not storing microseconds in your DATETIME values.

    0 讨论(0)
提交回复
热议问题