mysql如何如一列中45047形式的数字更新为日期格式
时间: 2024-03-03 15:51:29 浏览: 18
假设要更新的表名为`table1`,要更新的列名为`date_num`,可以使用下面的SQL语句将45047形式的数字更新为日期格式:
```
UPDATE table1 SET date_num = FROM_UNIXTIME((date_num - 25569) * 86400, '%Y-%m-%d');
```
其中,`FROM_UNIXTIME`函数的参数和格式化方式与前面提到的相同。执行以上SQL语句后,原来的数字列`date_num`会被更新为日期格式。
相关问题
mysql中如何如20230204形式的列更新为短日期形式
如果你想将一个名为date_column的列中的所有日期从如20230204的格式转换为短日期格式,可以使用MySQL的UPDATE语句结合STR_TO_DATE和DATE_FORMAT函数来实现。下面是一个例子:
```
UPDATE my_table SET date_column = DATE_FORMAT(STR_TO_DATE(date_column, '%Y%m%d'), '%Y-%m-%d');
```
在这个更新语句中,STR_TO_DATE函数将日期从字符串格式转换为日期格式,然后DATE_FORMAT函数将其转换为短日期格式。'%Y%m%d'参数告诉MySQL如何解释日期字符串。%Y表示四位年份,%m表示两位月份,%d表示两位日期。'%Y-%m-%d'参数告诉MySQL将日期格式化为短日期格式。最后,UPDATE语句将更新后的日期值存储回date_column列中。
mysql如何如45047形式的数字转为短日期
如果45047表示的是Excel中的日期格式,可以使用MySQL的FROM_UNIXTIME函数将其转换为日期格式。具体操作如下:
1. 首先需要将45047转换为Unix时间戳,可以使用下面的公式:
SELECT (45047 - 25569) * 86400;
其中25569是1970年1月1日和1900年1月1日之间的天数差,86400是一天的秒数。
2. 将Unix时间戳转换为日期格式,使用FROM_UNIXTIME函数:
SELECT FROM_UNIXTIME((45047 - 25569) * 86400, '%Y-%m-%d');
其中'%Y-%m-%d'表示年月日的格式,可以根据需要进行修改。
执行以上操作后,可以将45047转换为短日期格式,例如结果为1992-05-11。