какой может быть запрос для извлечения всех записей, разделенных запятой в SQL? - PullRequest
0 голосов
/ 20 сентября 2010

В SQL, предположим, у меня есть сотрудник таблицы и столбец в качестве имени, содержащий все имена в формате FirstName, LastName.Пример: Найим, Хан.Я хочу получить только все фамилии, например, Хан.

Ответы [ 4 ]

1 голос
/ 20 сентября 2010

ORACLE или MySQL решение

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

РЕДАКТИРОВАТЬ

Для SQL Server, попробуйте

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

, предполагая, что имя всегда будет содержать

1 голос
/ 20 сентября 2010

В оракуле это будет

select substr(name, 1, instr(name. ',') - 1) as first_name,
       substr(name, instr(name. ',') + 1) as last_name
from TABLE_NAME
0 голосов
/ 20 сентября 2010

Здесь решение postgreSQL:

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


SELECT SUBSTRING('foo,bar' from ',(.+)$') ;
 substring
-----------
 bar
(1 row)
0 голосов
/ 20 сентября 2010

Вы не упомянули БД.Вы можете попробовать что-то вроде в MySQL:

SELECT SUBSTRING(name,LOCATE(",",name)+1)
FROM TABLE_NAME
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...