如何将字符串(在三列中)转换为时间戳(一列)mysql

r3i60tvu  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(350)

嗨,我是一个新的程序员,把我的sql表搞砸了。我没有用时间戳存储日期,而是将日期分为三列:日、月和年。我现在意识到我需要一个时间戳。所以我可以执行更复杂的查询。
以下是我需要更新的内容:

UPDATE coding_tracker SET coded_at = column(day)"/"column(month_number(month))"/"column(year);

先谢谢你

mcdcgff0

mcdcgff01#

假设您的列名为day、month\u number和year,则此查询应该可以工作:

UPDATE coding_tracker SET coded_at = STR_TO_DATE(CONCAT_WS('/', day, month_number, year), '%d/%m/%Y')

如果你的 month 列是一个名称,可以更改 %m 在上面的查询中 %b 对于短月份名称( Jan..Dec )或者 %M 对于长月份名称( January..December )例如,对于长名称:

UPDATE coding_tracker SET coded_at = STR_TO_DATE(CONCAT_WS('/', day, month, year), '%d/%M/%Y')

有关格式的文档 STR_TO_DATE 可以在 DATE_FORMAT mysql手册的一节。

相关问题