在SQL中,获取所有以逗号分隔的记录的查询可能是什么?

在SQL中,获取所有以逗号分隔的记录的查询可能是什么?,sql,sql-server-2005,Sql,Sql Server 2005,在SQL中,假设我有一个表employee,并且有一个列作为名称,包含格式为FirstName、LastName的所有名称。例:纳伊姆,汗。我只想把所有的姓氏都拿来,就是汗。你没有提到DB。您可以在MySQL中尝试以下操作: SELECT SUBSTRING(name,LOCATE(",",name)+1) FROM TABLE_NAME ORACLE或MySQL解决方案 select DISTINCT SUBSTR(name,INSTR(name,',')+1) from employe

在SQL中,假设我有一个表employee,并且有一个列作为名称,包含格式为FirstName、LastName的所有名称。例:纳伊姆,汗。我只想把所有的姓氏都拿来,就是汗。

你没有提到DB。您可以在MySQL中尝试以下操作:

SELECT SUBSTRING(name,LOCATE(",",name)+1)
FROM TABLE_NAME

ORACLE或MySQL解决方案

select DISTINCT SUBSTR(name,INSTR(name,',')+1)
  from employee
编辑

对于SQL Server,请尝试

select SUBSTRING(name,CHARINDEX(',',name)+1,999) 
  from employee 

假设名称在oracle中始终包含一个,

,即

select substr(name, 1, instr(name. ',') - 1) as first_name,
       substr(name, instr(name. ',') + 1) as last_name
from TABLE_NAME

这里有一个postgreSQL解决方案:

SELECT SUBSTRING(name from ',(.+)$') FROM table;


SELECT SUBSTRING('foo,bar' from ',(.+)$') ;
 substring
-----------
 bar
(1 row)

像这样,但是“WHERE”在翻译中丢失了一个E,变成了WHREI。我想他也只想提取姓氏,但要使用的函数取决于他的DBMSKhan只是一个例子。这将给出所有以khan结尾的名称。我只想要列名称中的lastname我还建议修剪每个substr结果,以防commakindly give SQL server 2005数据库解决方案前后有空格如果您想要SQL server 2005数据库,最好是从开头告诉我们-关键字“from”附近的语法不正确。我使用的是sql server 2005,它是用于postgreSQL的,我不知道sql server。但可能有一些类似的函数,它按原样给出输出。根据我的示例,o/p仍然是Nayeem,Khan。请尝试在CHARINDEX函数中反转“,”和name参数,就像我在示例中所做的那样,在我得到我想要的之前我如何接受如果你没有得到你想要的,那么请确定你实际需要什么,以及为什么提供给你的建议不能满足你的要求