删除MySQL的秒数

时间:2015-12-16 08:48:32

标签: mysql seconds

我是MySQL的新手,我不知道如何解决这个问题

我有一个包含日期时间类型的表。 coloumn的格式为yyyy-mm-dd hh:mm:ss,与此2015-12-02 20:21:54一样。我想删除第二个。

如果second <= 30则删除第二个

2015-12-02 20:00:15 ---> 2015-12-02 20:00

如果second > 30则分钟+ 1

2015-12-02 20:21:54 ---> 2015-12-02 20:22

有谁知道如何进行这样的查询?

4 个答案:

答案 0 :(得分:0)

使用DATE_FORMAT

SELECT 
if(DATE_FORMAT('2015-12-02 20:00:55','%s') <= 30,
DATE_FORMAT('2015-12-02 20:00','%Y-%m-%d %H:%i'),
DATE_FORMAT('2015-12-02 20:00','%Y-%m-%d %H:%i') + INTERVAL 1 MINUTE) 

http://some-web-page/service.asmx/

答案 1 :(得分:0)

这样的事情有用吗?

SELECT
    DATE_FORMAT(
        DATE_ADD(
            DATE_FORMAT(your_date, '%Y-%m-%d %H:%i:00'),
            INTERVAL IF (SECOND(your_date) < 30, 0, 1) MINUTE
        ),
        '%Y-%m-%d %H:%i'
    ),

答案 2 :(得分:0)

我可能会做这样的事情(未经测试):

SELECT CASE SECOND(@yourDate)&gt;三十     那么DATE_ADD(@yourDate INTERVAL SECOND(@yourDate)SECOND)     ELSE @yourDate;

您可能希望阅读mysql手册的date and time functions部分。

答案 3 :(得分:0)

UPDATE table_name SET
     date_column =(CASE WHEN SECOND(date_column)&gt; = 30那么DATE_FORMAT(date_column,'%Y-%m-%d%H:%i:00')+ INTERVAL 1 MINUTE
        ELSE DATE_FORMAT(date_column,'%Y-%m-%d%H:%i:00')
    END);