2011-08-25 31 views
0

我有一個表格,我想僅返回人員的姓名,例如Will,Armstrong,來自第二列。我怎樣才能做到這一點?如何從文本列中返回子字符串

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 

謝謝。

約翰

回答

2
SELECT split_part(textcolumn, ":",1) FROM yourTable 

您可以使用基於一個split_part功能。您還應該考慮通過在不同列中保存名稱和相似性來規範化數據庫。

0
select split_part(col2, ':', 1) as name 
from mytable 
0

如果你想 '任何東西到冒號(:)' 你可以使用:

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

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

在PostgreSQL中的字符串函數見here

+0

它的工作原理。非常感謝你 – John