在 Redshift 中使用 json_extract_path_text 时如何跳过错误?

Posted

技术标签:

【中文标题】在 Redshift 中使用 json_extract_path_text 时如何跳过错误?【英文标题】:How to skip errors when using json_extract_path_text in Redshift? 【发布时间】:2018-02-02 20:51:02 【问题描述】:

我有以下查询:

SELECT 'curl -s http://www.mde.operator.com/MRE/api?profile=CANCEL_AUTH&mode=assync-oneway&Auth='||json_extract_path_text(external_reference_id,'transactionIdAuth') + '&NUM=' + phone  FROM dbo.cancelled WHERE id like '%Auth%';

它会带来超过 6 万个结果,但是 json 被破坏了,我无法设法删除断线。

有什么方法可以跳过显示任何错误的行吗?

注意:它不是空行。

我已经试过了:

json_extract_path_text(regexp_replace(event_properties,'\\\\.',''),'someValue')

【问题讨论】:

你好,谁能给我关于这个问题的线索? 【参考方案1】:

您可以通过将json_extract_path_text 函数的null_if_invalid 参数设置为true 来使它们为空行。

来源:https://docs.aws.amazon.com/redshift/latest/dg/JSON_EXTRACT_PATH_TEXT.html

【讨论】:

以上是关于在 Redshift 中使用 json_extract_path_text 时如何跳过错误?的主要内容,如果未能解决你的问题,请参考以下文章

AWS 在 VPC 中访问 Redshift

使用 java 程序从 STDIN 复制 Redshift

Redshift:不能在 UDF 中使用聚合函数?

我们应该在 Redshift 的存储过程中使用 udf

在 Redshift 的 JOIN 中使用模式名称

在 Redshift 中使用 python UDF 中的表