嗨,我是一个新的编码员,搞砸了我的 sql 表。我没有用时间戳存储我的日期,而是将日期放在三个单独的列中:日、月和年。我现在意识到我需要这些时间戳。所以我可以执行更复杂的查询。
这是我需要 UPDATE 的样子:
UPDATE coding_tracker SET coded_at = column(day)"/"column(month_number(month))"/"column(year);
先感谢您
嗨,我是一个新的编码员,搞砸了我的 sql 表。我没有用时间戳存储我的日期,而是将日期放在三个单独的列中:日、月和年。我现在意识到我需要这些时间戳。所以我可以执行更复杂的查询。
这是我需要 UPDATE 的样子:
UPDATE coding_tracker SET coded_at = column(day)"/"column(month_number(month))"/"column(year);
先感谢您
假设您的列名为 day、month_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 手册的部分中找到。