在SQL中,假设我有一个表employee,并且有一个名为Name的列,其中包含FirstName,LastName格式的所有名称。例:Nayeem,Khan。我想只获取所有姓氏,即汗。
答案 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)