我有一张表如下,我想只返回这个人的姓名,例如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
感谢。
约翰
答案 0 :(得分:2)
SELECT split_part(textcolumn, ":",1) FROM yourTable
您可以使用基于一位的split_part
功能。您还应该考虑通过在不同列中保存名称和相似性来规范化数据库。
答案 1 :(得分:0)
select split_part(col2, ':', 1) as name
from mytable
答案 2 :(得分:0)
如果你想要'冒险(:)的任何东西,你可以使用:
SELECT SUBSTRING(column2 FROM '^[^:]+') FROM table;
或
SELECT SUBSTRING(column2 FROM 0 FOR POSITION(':' IN column2)) FROM table;
有关PostgreSQL中的字符串函数,请参阅here。