我有一个像这样的值的表:
book;65
book;1000
table;66
restaurant;1202
park;2
park;44444
有没有办法使用postgres sql删除所有内容,无论单词的长度如何,包括分号和后面的所有内容?
我打算在解决这个问题之后做一个类似的查询:
select col1, modified_col_1
from table_1
- 修改后没有分号和
之后的所有内容答案 0 :(得分:1)
您可以使用substring
和strpos()
:
select col1, substring(col1, 1, strpos(col1, ';') - 1) as modified_col_1
如果有值没有 a ;
另一个选择是将字符串拆分为数组,然后选择第一个元素:
select (string_to_array(col1, ';'))[1]
from table_1
如果没有;