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

时间:2010-09-20 09:26:41

标签: sql sql-server-2005

在SQL中,假设我有一个表employee,并且有一个名为Name的列,其中包含FirstName,LastName格式的所有名称。例:Nayeem,Khan。我想只获取所有姓氏,即汗。

4 个答案:

答案 0 :(得分:1)

ORACLE或MySQL解决方案

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

修改

对于SQL Server,请尝试

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

假设名称将始终包含a,

答案 1 :(得分:1)

在oracle中,那将是

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

答案 2 :(得分:0)

您没有提到数据库。你可以试试像MySQL这样的东西:

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

答案 3 :(得分:0)

这是一个postgreSQL解决方案:

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


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