mysql - 仅更新 SQL 日期的日期部分

标签 mysql sql sql-update

我有一个带有随机 Date 类型的字段,例如:

2005-01-08
2001-11-15
1988-05-06

我需要将这些全部更改为日期的同一天部分,同时保留年份和月份。喜欢:

2005-01-01
2001-11-01
1988-05-01

如何使用普通的旧 SQL 完成此操作?

最佳答案

最简单的方法是使用date_format

mysql> select date_format('2005-01-08','%Y-%m-01') as fday ;
+------------+
| fday       |
+------------+
| 2005-01-01 |
+------------+
1 row in set (0.02 sec)

所以更新命令变成了

update table_name
set date_col = date_format(date_col,'%Y-%m-01') ;

关于mysql - 仅更新 SQL 日期的日期部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30318410/

相关文章:

php - 完整性约束违规 - 如何使用类表继承在 Doctrine 中创建实体

mysql - 如何 "reverse"一个简单的 2 列关系表

sql - H2,如何使用嵌套选择进行更新?

mysql - 更新 WHERE Field IN

mysql - 过滤 2 个 MySQL 表

sql-server - 如何在从自身更新同一个表时为表添加别名?

php - MySQL DISTINCT/GROUP BY 与 MAX()

mysql - 如何删除Mysql中的唯一约束?

php - filter_var 是否足以清理基于 PHP 的 MySQL 查询的整数输入?

sql - WCF 服务中断对数据库的调用