如果我有多行并且字符串在 SQL 中的长度不同,我如何将字符串分成列?

How can I separate a string into columns, if I have multiple rows and the strings are of different length in SQL?

问题说:

检索所有发布商的所有唯一国家/地区。

我应该从中检索国家/地区的列如下:

Table:出版商

列:地址

行数:

现在,我明白了,问我的答案是显示:United States, United Kingdom。但是,国家/地区在美国的情况下是城市、州和国家/地区的字符串,在英国的情况下是城市/国家/地区。

我不知道如何将列地址分隔成列,这样我就可以检索国家/地区的唯一值。

我试过使用SUBSTR()和SUBSTRING(),但是我必须把字符串写在里面,我不知道如何把它全部写到一个函数中。

您可以使用不同的 substring_index。

select distinct substring_index(Address,',',-1) from publisher;

你可以找到更多的解释here