Sql 列出不带逗号的逗号分隔名称
在SQL+中,我应该用一列创建一个表:name。在那一栏里只有一个名字,“多伊,约翰”。我应该写一个select语句,将数据显示为“John Doe”;我已经看过了,但我似乎找不到任何方法来做这件事。有什么想法吗Sql 列出不带逗号的逗号分隔名称,sql,select,Sql,Select,在SQL+中,我应该用一列创建一个表:name。在那一栏里只有一个名字,“多伊,约翰”。我应该写一个select语句,将数据显示为“John Doe”;我已经看过了,但我似乎找不到任何方法来做这件事。有什么想法吗 SELECT REPLACE(name,',',' '); 其中name是包含数据Doe、John的字段名。 因此,您将用空格字符替换逗号 其中name是包含数据Doe、John的字段名。 因此,当您应该将逗号存储在两个单独的列(firstname和lastname)中时,您将用空格
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
将如何帮助您。我和其他人一样——这真的应该存储在两个单独的列中。如果列中的数据格式/顺序不一致,那么上帝也帮不了他。分栏解决所有问题。我知道有更简单的方法……但这是一项任务,我只需要处理一个栏。