仅更新 SQL 日期的日期部分

Update only day portion of SQL Date

我有一个随机 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') ;