我已经搜索了几个小时,但一直找不到答案。我希望有人知道如何将日期分成 3 列。我有一个 mysql 表,如下所示
Id Email First_Name Last_Name DOB Gender
1 yo@1.com Jack Smith 1969-03-09 M
2 yo1@1.com Jill Smith 1982-11-29 F
我希望最终的格式如下
Id Email First_Name Last_Name DOB DOB_Yr DOB_Mo DOB_Day Gender
1 yo@1.com Jack Smith 1969-03-09 1969 03 09 M
2 yo1@1.com Jill Smith 1982-11-29 1982 11 29 F
我可以访问 HeidiSql 和 MySQL Workbench。有人怎么做吗?谢谢。
最佳答案
尝试:
SELECT Id,
Email,
First_Name,
Last_Name,
DOB,
YEAR(DOB) AS DOB_Yr,
MONTH(DOB) AS DOB_Mo,
DAY(DOB) AS DOB_Day,
Gender
FROM your_table
如果你想在月和日前导 0(03
而不是 3
),你可以使用 Lpad()
功能。请尝试以下操作:
SELECT Id,
Email,
First_Name,
Last_Name,
DOB,
YEAR(DOB) AS DOB_Yr,
LPAD(MONTH(DOB), 2, '0') AS DOB_Mo,
LPAD(DAY(DOB), 2, '0') AS DOB_Day,
Gender
FROM your_table
关于mysql - 将日期拆分为多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52652242/