表中的记录如下:
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() ,以便将结果与我的结果进行比较预定义数组
答案 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