【问题标题】:How do I query and empty array in SQL (for aws quicksight)如何在 SQL 中查询和清空数组(对于 aws quicksight)
【发布时间】:2023-01-31 18:24:48
【问题描述】:

运行以下查询时,我得到以下信息,但在敏感数据列中有一些空数组,例如单元格将具有“[]”。

SELECT
DISTINCT SUBSTRING(createdat, 1, 10) datee,
classificationdetails.jobid,
classificationdetails.result.sensitivedata
FROM "demo"."crawler_tbl_with_s3_sqseu_west_2";

enter image description here

我希望能够专门选择空数组。所以我想添加一个 where 条件,使我能够专门选择带有“[]”的单元格。

我试过下面的查询,查询错误的结果将在查询下方。

SELECT 
distinct classificationdetails.result.sensitivedata as sens,
createdat
FROM "demo"."crawler_tbl_with_s3_sqseu_west_2"
WHERE classificationdetails.result.sensitivedata = '[]' ;

这是我在 atm 上做的,但出现错误

SYNTAX_ERROR:第 5:50 行:“=”不能应用于数组(行(“category”varchar,“totalcount”varchar,“detections”数组(row(“type”varchar,“count”varchar,“occurrences”行( “lineranges”数组(varchar),“页面”数组(varchar),“记录”数组(varchar),“单元格”数组(行(“行”varchar,“列”varchar,“columnname”varchar))))) )), 变量(2)

【问题讨论】:

标签: mysql sql arrays amazon-web-services amazon-quicksight


【解决方案1】:

敏感数据字段是一个数组对象,不能直接和'[]'字符串进行比较。为此,您必须使用函数 array_to_string()、array_join() 等将其转换为字符串。

SELECT 
distinct classificationdetails.result.sensitivedata as sens,
createdat
FROM "demo"."crawler_tbl_with_s3_sqseu_west_2"
WHERE array_to_string(classificationdetails.result.sensitivedata,'') = '' ;

【讨论】:

    猜你喜欢
    • 2021-06-07
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 2021-07-31
    • 1970-01-01
    • 2019-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多