Postgres:从数组值

时间:2016-11-18 04:54:15

标签: postgresql

表中的记录如下:

id    column1
 1   'Record1'
 2   ' Record2'
 3   ' Record3a, Record3b'
 4   'Record4a , Record4b, Record4c '

column1 type: text

pre-defined array= {record1,record2,record3a}

虽然我使用&amp;&amp;&amp; 运算符检查了预定义数组的值,但由于不必要的分隔符空间,大多数值都会丢失。< / p>

因此我需要首先删除开头或结尾的那些空间(仅限),然后执行 string_to_array() ,以便将结果与我的结果进行比较预定义数组

2 个答案:

答案 0 :(得分:1)

使用trim()删除前导空格:

SELECT string_to_array(trim(both ' ' from regexp_replace(column1, '\s*,\s*', ',')), ',')
FROM yourTable

答案 1 :(得分:1)

SELECT string_to_array(trim(两者都来自regexp_replace(column1, '\ s *,\ s *',',')),',')from yourTable

它可以工作,但是应该添加'g'标志以删除所有空格:

SELECT string_to_array(
   trim(both ' ' from regexp_replace(column1, '\s*,\s*', ',')), ',','g')
FROM yourTable