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

Sql 列出不带逗号的逗号分隔名称,sql,select,Sql,Select,在SQL+中,我应该用一列创建一个表:name。在那一栏里只有一个名字,“多伊,约翰”。我应该写一个select语句,将数据显示为“John Doe”;我已经看过了,但我似乎找不到任何方法来做这件事。有什么想法吗 SELECT REPLACE(name,',',' '); 其中name是包含数据Doe、John的字段名。 因此,您将用空格字符替换逗号 其中name是包含数据Doe、John的字段名。 因此,当您应该将逗号存储在两个单独的列(firstname和lastname)中时,您将用空格

在SQL+中,我应该用一列创建一个表:name。在那一栏里只有一个名字,“多伊,约翰”。我应该写一个select语句,将数据显示为“John Doe”;我已经看过了,但我似乎找不到任何方法来做这件事。有什么想法吗

SELECT REPLACE(name,',',' ');
其中name是包含数据Doe、John的字段名。 因此,您将用空格字符替换逗号

其中name是包含数据Doe、John的字段名。
因此,当您应该将逗号存储在两个单独的列(firstname和lastname)中时,您将用空格字符替换逗号,让我们假设这不是一个选项。答案将是特定于RDBMS的

对于MySql,
substring\u index
运行良好:

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

SQL Server,您有几个选项。下面是一个使用
子字符串
charindex
的示例:

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

虽然您应该将其存储在两个单独的列(firstname和lastname)中,但我们假设这不是一个选项。答案将是特定于RDBMS的

对于MySql,
substring\u index
运行良好:

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

SQL Server,您有几个选项。下面是一个使用
子字符串
charindex
的示例:

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

REPLACE()是您需要的函数,但是一列应该包含一段数据,连接数据总是比拆分数据容易。考虑将该列拆分为您使用的RDBMS的FieldNeX和SurnMe?如果您需要重新排列数据(lastname、firstname到firstname lastname),则不确定
replace
将如何帮助您。我和其他人一样——这真的应该存储在两个单独的列中。如果列中的数据格式/顺序不一致,那么上帝也帮不了他。分离列可以解决所有问题。我知道有更简单的方法……但这是一个赋值,我只需要处理一列。REPLACE()是您需要的函数,但一列应该包含一段数据,连接数据总是比拆分数据容易。考虑将该列拆分为您使用的RDBMS的FieldNeX和SurnMe?如果您需要重新排列数据(lastname、firstname到firstname lastname),则不确定
replace
将如何帮助您。我和其他人一样——这真的应该存储在两个单独的列中。如果列中的数据格式/顺序不一致,那么上帝也帮不了他。分栏解决所有问题。我知道有更简单的方法……但这是一项任务,我只需要处理一个栏。