为什么我不能为“ FORMAT JSON”查询结果应用clickhouse json函数?

问题描述

我做了一个简单的查询来测试JSONExtractRaw函数,但是没有运气:

从(选择*从设备中选择JSONExtractRaw(j,'data') 格式JSON)为j;

但是由于“语法错误”而无法使用。是一个错误还是可以预期的?

解决方法

v20.7.2.30中添加了格式化SQL输出的函数-formatRowformatRowNoNewline

SELECT JSONExtractRaw(j,'data') AS json
FROM 
(
    SELECT formatRow('JSONEachRow',*) AS j
    FROM 
    (
        SELECT *
        FROM 
        (
            /* emulate the test dataset */
            SELECT 
                1 AS id,'[{"a": 8}]' AS data
            UNION ALL
            SELECT 
                2 AS id,'[{"a": 2}]' AS data
        )
    )
)

┌─json───────────┐
│ "[{\"a\": 8}]" │
│ "[{\"a\": 2}]" │
└────────────────┘