如何在MySQL中删除字符串的第一部分,直到第一逗号为止?

时间:2019-05-06 03:12:12

标签: mysql substring

我的一个MySQL表中的一个字段包含逗号分隔的jpg图像URL列表。我想删除列表中的第一个URL,直到并包括第一个逗号。

我发现了很多从列表末尾删除或从列表开头删除前x个字符的示例。这里的问题是该列表可以包含两个到一百个逗号分隔的URL,并且所有URL的长度都可以变化。

此字段内容的示例可能类似于:

http://foo.com/51623/gfhfksdf/5956s/00.jpg,http://foo.com/51623/gfhfksdf/5956s/00.jpg,http://foo.com/51623/gfhfksdf/5956s/01.jpg,http://foo.com/51623/gfhfksdf/5956s/02.jpg,http://foo.com/51623/gfhfksdf/5956s/03.jpg

我只想删除列表中的第一个URL和第一个逗号。

3 个答案:

答案 0 :(得分:1)

假设所有网址都用逗号分隔,那么您很可能需要类似

SELECT SUBSTR(ColumnName,LOCATE(',',ColumnName)+1) 
FROM YourTable;

OR

SELECT SUBSTR(REPLACE(Column_Name,SUBSTRING_INDEX(ColumnName,',',1),''),2)
FROM YourTable

答案 1 :(得分:0)

select 'https://google.com,https://youtube.com' as url, SUBSTRING(url, POSITION("," IN url)+1)

在这种情况下会为您提供帮助

答案 2 :(得分:0)

String phoneNumber = "1234-5678";
phoneNumber = phoneNumber.replaceAll("^\\d{4}-\\d{4}", "9$0");
if (phoneNumber.matches("\\d{5}-\\d{4}")) {
    System.out.println("MATCH: " + phoneNumber);
}

如果没有逗号,则必须解决