Как вернуть подстроку из текстового столбца - PullRequest
0 голосов
/ 25 августа 2011

У меня есть следующая таблица, я хотел бы вернуть только имя человека, например Уилла, Армстронга, из 2-го столбца.Как мне этого добиться?

1. Will,Armstrong:similarity=99.8   2011-08-25 17:16:16
2. Tom,White:similarity=90.0        2011-08-24 16:25:15
3. Johnny,Thomas:similarity=80.0    2011-08-24 13:20:15
4. John,Broderick:similarity=70.0   2011-08-21 10:25:15

Спасибо.

Джон

Ответы [ 3 ]

2 голосов
/ 25 августа 2011
SELECT split_part(textcolumn, ":",1) FROM yourTable

Вы можете использовать одностороннюю функцию split_part.Вам также следует подумать о нормализации базы данных, сохранив имя и сходство в разных столбцах.

0 голосов
/ 25 августа 2011

Если вы хотите «что-нибудь до двоеточия (:)», вы можете использовать:

SELECT SUBSTRING(column2 FROM '^[^:]+') FROM table;

или

SELECT SUBSTRING(column2 FROM 0 FOR POSITION(':' IN column2)) FROM table;

См. здесь для строковых функций вPostgreSQL.

0 голосов
/ 25 августа 2011
select split_part(col2, ':', 1) as name
from mytable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...