SQL如何提取没有逗号的数据?

Posted

技术标签:

【中文标题】SQL如何提取没有逗号的数据?【英文标题】:SQL how to pull out data which has commas without them? 【发布时间】:2016-09-22 08:28:50 【问题描述】:

在数据库中,用逗号将日期放入字段中,如20,151,112 (yy,yym,mdd) 代表日期12-11-2015

我需要取出日期并过滤它,以便我只有一段时间的记录。

你知道我怎样才能在没有逗号的情况下提取数据,这样我就有可以比较的整数了吗?

【问题讨论】:

旁注:不要这样存储日期。 我知道,我没有创建数据库... 【参考方案1】:

使用REPLACE删除逗号,然后使用TIMESTAMP_FORMATDATE转换为日期:

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

以上是关于SQL如何提取没有逗号的数据?的主要内容,如果未能解决你的问题,请参考以下文章