修剪一个单词的部分但每个单词的大小不同

时间:2016-01-27 15:38:49

标签: postgresql

我有一个像这样的值的表:

book;65
book;1000
table;66
restaurant;1202
park;2
park;44444

有没有办法使用postgres sql删除所有内容,无论单词的长度如何,包括分号和后面的所有内容?

我打算在解决这个问题之后做一个类似的查询:

select col1, modified_col_1 
from table_1

- 修改后没有分号和

之后的所有内容

1 个答案:

答案 0 :(得分:1)

您可以使用substringstrpos()

select col1, substring(col1, 1, strpos(col1, ';') - 1) as modified_col_1

如果有值没有 a ;

,则上述情况会出错

另一个选择是将字符串拆分为数组,然后选择第一个元素:

select (string_to_array(col1, ';'))[1]
from table_1

如果没有;

,这也会有效