首页 > 解决方案 > 将带有单引号的数据修剪成表格的问题?

问题描述

我有一个表格,其中一个字段遵循以下格式:

表Foo

info
----------------------------------------------------------------------------------------------------
['email', 'phone', 'reviews', 'manual_offline', 'jumio', 'government_id']
['email', 'phone']
['email', 'phone', 'reviews', 'offline_government_id', 'selfie', 'government_id', 'identity_manual']
...

为了将表中的每个值分离Foo到另一个表中以规范化模型,我想将每个字符串与info字段上每一行的数组分开并将其插入到不同的表中。

为了分隔这些值,我尝试执行此操作select,但我发现数组上的单引号 ( ') 会出现一些问题,因为我不能在第trim一个参数上使用它们,因为 postgresql 会认为我在分隔字符串:

select distinct (trim('['']' FROM REGEXP_SPLIT_TO_TABLE(info, ','))) from ImportH;

尽管我执行了select并将值分开,但其中一些在开头包含一个单引号。

我得到的输出示例:

'phone facebook 'email ...

我怎样才能正确地做到这一点?

标签: sqlpostgresql

解决方案


您可以使用替换而不是修剪,替换单引号。

select replace(column_name, '''', '') from ImportH;

但是,如果您可以解释确切的结果,则可以提供更多帮助


推荐阅读