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_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
以上是关于SQL如何提取没有逗号的数据?的主要内容,如果未能解决你的问题,请参考以下文章
C# 数据库提取值包含特殊符号例如反斜杠,逗号。如何去除这些特殊符号?
使用 SQL 。从字符串'HEADER|N1000|E1001|N1002|E1003|N1004|N1005'中提取逗号分隔的数字