将日期拆分为多个列

ikfrs5lh  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(311)

我已经找了好几个小时了,但一直找不到答案。我希望有人知道如何把一个日期分成三栏。我有一个如下所示的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工作台。有人知道怎么做吗?谢谢。

hgncfbus

hgncfbus1#

您可以使用各种日期函数,如 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

相关问题