3

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

例如

*************************************************
** 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 **
*************************************************

有没有办法从查询中做到这一点而不必涉及另一种编程语言?

4

2 回答 2

12

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

UPDATE tablename SET columnname = CONCAT_WS(' ', DATE(columname), '23:59:59')
于 2012-11-02T16:09:57.397 回答
7

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

UPDATE `table` SET `date_column` = CONCAT(DATE(`date_column`), ' 23:59:59')
于 2012-11-02T16:10:07.423 回答