【问题标题】:MySql - Using concat with date columnsMySql - 将 concat 与日期列一起使用
【发布时间】:2012-01-05 12:27:28
【问题描述】:

当我尝试像这样连接表中的日期列时:

CONCAT(`date_from`,' - ',`date_to`) AS `period`

我得到一个奇怪的结果,像这样:

323031322d30312d303120323031322d30312d3031

但是如果我将列的类型从 DATE 更改为 VARCHAR,结果是正确的。

为什么我不能连接日期列?

【问题讨论】:

    标签: mysql concatenation


    【解决方案1】:

    您需要使用 CAST 之类的函数将日期类型更改为 CHAR

    CONCAT(CAST(`date_from` AS CHAR),' - ',CAST(`date_to` AS CHAR)) AS `period`
    

    【讨论】:

    • 为什么不在那里使用DATE_FORMAT?我相信它会给出一个不会根据调用者的连接设置而改变的结果......
    【解决方案2】:

    尝试做:

    SELECT CAST(CONCAT(`date_from`,' - ',`date_to`) AS CHAR) 来自 `some_table` WHERE 1

    希望对你有帮助

    【讨论】:

      【解决方案3】:

      enter image description here试试这个...

      SELECT GROUP_CONCAT(date) FROM TABLE group by id
      

      【讨论】:

      • 你能解释一下你的解决方案吗?
      • group concat(date) 将给出结果为 (23-08-2018,24-08-2018,....) 表中的所有日期都将得到 concat,以获得结果按组...使用 group by 对连续日期进行分组。
      猜你喜欢
      • 2019-01-09
      • 1970-01-01
      • 2018-09-10
      • 2013-12-21
      • 2011-10-22
      • 2021-08-31
      • 2010-10-22
      相关资源
      最近更新 更多