我已经搜索了几个小时,但找不到答案。我希望有人可能知道如何将日期分成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。有人怎么做吗?谢谢。
答案 0 :(得分:2)
尝试:
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