MySQL修改日期时间设置小时和分钟而不修改月,年和日

时间:2012-11-02 16:06:31

标签: mysql

我有一个带有DateTime列的数据库,我想修改小时和分钟而不涉及任何其他内容。我不能只添加间隔b / c,所有值都不同。

e.g

*************************************************
** What I've got       *|* What I want         **
************************|************************
** 2012-10-01 10:01:01 *|* 2012-10-01 23:59:59 **
** 2012-08-03 13:09:01 *|* 2012-08-03 23:59:59 **
** 2012-05-10 09:00:01 *|* 2012-05-10 23:59:59 **
** 2012-03-20 20:01:01 *|* 2012-03-20 23:59:59 **
*************************************************

有没有办法从查询中执行此操作而不必涉及其他编程语言?

2 个答案:

答案 0 :(得分:8)

是的,你可以很容易地做到这一点:

UPDATE tablename SET columnname = CONCAT_WS(' ', DATE(columname), '23:59:59')

答案 1 :(得分:4)

您可以在提取列的当前date_column值后将DATE()设置为字符串。

UPDATE `table` SET `date_column` = CONCAT(DATE(`date_column`), ' 23:59:59')