将日期分成多列

时间:2018-10-04 17:17:18

标签: mysql mysql-workbench heidisql

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

1 个答案:

答案 0 :(得分:2)

  • 您可以使用各种日期函数,例如YEAR()MONTH()DAY(),以从MySQL日期获取年,月和日的值。

尝试:

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