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如何提取没有逗号的数据?的主要内容,如果未能解决你的问题,请参考以下文章

C# 数据库提取值包含特殊符号例如反斜杠,逗号。如何去除这些特殊符号?

使用 SQL 。从字符串'HEADER|N1000|E1001|N1002|E1003|N1004|N1005'中提取逗号分隔的数字

如何在“PARTITIONED BY”子句的括号之间以逗号分隔的tick中提取值

在sql语言中,如何提取出数组中的一段数据。

怎么将数组数据批量的提取出来。

提取用逗号分隔的字符串部分