列出逗号分隔的名称,不带逗号

时间:2014-04-01 20:54:58

标签: sql select

在SQL +中,我应该创建一个包含一列的表:name。在该栏中只有一个名字,“Doe,John'”。我应该写一个select语句来显示数据为' John Doe&#39 ;;我看了,但我似乎无法找到任何办法。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

SELECT REPLACE(name,',',' ');

其中name是包含数据Doe,John的字段名称。 所以你用空格字符替换逗号

答案 1 :(得分:2)

虽然您应该将其存储在2个单独的列(名字和姓氏)中,但我们假设它不是一个选项。答案是特定于RDBMS。

对于MySql,substring_index效果很好:

select substring_index(name,',',1) lastname,
   substring_index(name,',',-1) firstname
from yourtable

Some Fiddle

SQL Server,您有几种选择。这是一个使用substring charindex的人:

select substring(name,1,charindex(',',name)-1) lastname,
   ltrim(substring(name,charindex(',',name)+1, len(name))) firstname
from yourtable

Some More Fiddle