Mysql从列获取第一个日期和最后一个日期,并根据结果制作2个单独的列

时间:2018-03-13 10:03:37

标签: mysql

我有一个带日期的列,见下文。现在想要查询结果如下所示。

我如何实现这一目标?

表:

id dates
1  2018-02-02, 2018-02-03, 2018-02-04, 2018-02-05

期望的结果:

id dates                                          startdate  enddate
1  2018-02-02, 2018-02-03, 2018-02-04, 2018-02-05 2018-02-02 2018-02-05

1 个答案:

答案 0 :(得分:1)

我认为dateVARCHAR并且按升序排序,因此请使用MySQL SUBSTRING_INDEX() Function,如下所示:

SELECT id, `date`, SUBSTRING_INDEX(`date`, ".", 1) startdate,
       SUBSTRING_INDEX(`date`, ".", -1) enddate
FROM `Table`;

建议始终将日期值存储为日期。