MySQL - 将三列组合成一个具有特定格式的列

时间:2012-03-17 18:24:42

标签: mysql formatting

在我的MySQL数据库表中,我有一个名为StartDate(varchar类型)的列加上三个单独的整数列;日,月,年。

我想要做的是组合Day,Month和Year值,并将结果值以dd / mm / yy格式插入StartDate字段(例如03/07/84)。

这不会太难,但很多日和月的值只有一位数,所以那些需要以0为前缀(例如1变为01,9变为09,11保持不变)以满足所需的StartDate格式。

另一个问题是年份字段。这个目前保持4位数年份,因此需要删除前2位数字以满足StartDate格式(例如1984年变为84,2001年变为01)。

任何人都可以帮忙完成我需要完成的程序。 我猜我需要首先处理Day,Month和Year列,然后将它们复制到正确的格式,然后复制它们并将'/'字符添加到StartDate列中。

非常感谢您提供所有帮助和帮助。

1 个答案:

答案 0 :(得分:0)

尝试此查询:

UPDATE `my_super_datestable` SET startdate = 
    date_format(str_to_date(concat_ws(
                          '/', `day`, `month`, `year`), '%e/%c/%Y'), '%d/%m/%y');