【发布时间】:2016-09-22 08:28:50
【问题描述】:
在数据库中,用逗号将日期放入字段中,如20,151,112 (yy,yym,mdd) 代表日期12-11-2015。
我需要取出日期并过滤它,以便我只有一段时间的记录。
你知道我怎样才能在没有逗号的情况下提取数据,这样我就有可以比较的整数了吗?
【问题讨论】:
-
旁注:不要这样存储日期。
-
我知道,我没有创建数据库...
在数据库中,用逗号将日期放入字段中,如20,151,112 (yy,yym,mdd) 代表日期12-11-2015。
我需要取出日期并过滤它,以便我只有一段时间的记录。
你知道我怎样才能在没有逗号的情况下提取数据,这样我就有可以比较的整数了吗?
【问题讨论】:
使用REPLACE删除逗号,然后使用TIMESTAMP_FORMAT和DATE转换为日期:
DATE(TIMESTAMP_FORMAT(REPLACE(col, ',', ''), 'YYYYMMDD'))
例如
SELECT DATE(TIMESTAMP_FORMAT(REPLACE('20,151,112', ',', ''), 'YYYYMMDD')) AS "theDate"
FROM yourTable
【讨论】:
SELECT CONCAT(SUBSTRING(dateField,1,3), CONCAT(SUBSTRING(dateField,4,4), SUBSTRING(dateField,8,3))) AS "date" FROM myTable