首页 > 解决方案 > 如何在HANA DB中返回没有双引号的JSON字符串子查询?

问题描述

我正在将一些脚本从 t-sql 迁移到 sqlscript。我需要能够具有等效的功能/方式来从 JSON 结果中的子“选择”中提取数组,而无需双引号。即在SQL中(完美无双引号)

T-SQL 代码:

Select A."DocNum",JSON_QUERY((Select B."LineNum",B."LineTotal"
                                FROM "INV1" B
                               WHERE B."DocEntry"='552' and B.LineNum = 1
                                 FOR JSON PATH ,WITHOUT_ARRAY_WRAPPER)) as Lineas
FROM "OINV" A
WHERE A."DocEntry" ='552' FOR JSON PATH ,WITHOUT_ARRAY_WRAPPER

查询字符串结果:

{
    "DocNum": 552,
    "Lineas": {
        "LineNum": 1,
        "LineTotal": 125.000000
    }
}

现在 Hana ScriptSQL 代码相似但结果不同

Select A."DocNum",(Select B."LineNum",B."LineTotal"
                   FROM "INV1" B where B."DocEntry"='552' and B."LineNum" = 1
                   FOR JSON ('arraywrap'='no')) as Lineas
FROM "OINV" A
WHERE A."DocEntry" ='552' FOR JSON ('arraywrap'='no');

查询字符串结果:

{
    "DocNum":  552,
    "LINEAS": "{\"LineNum\":1,\"LineTotal\":125.000000}"
}

知道如何返回与 T-SQL 中相同的 JSON 字符串结果吗?没有 () 和

标签: jsonhana

解决方案


推荐阅读