json - 如何在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 字符串结果吗?没有 () 和
解决方案
推荐阅读
- c# - 是否可以统一使用 facebook java script sdk 在亚马逊中使用 firebase?
- shell - 尝试 dotnet lambda 打包 buildspec.yml 中的所有 .csproj 文件
- angular - 将组件中的数据绑定到服务返回视图 - Angular
- c# - 在没有工厂的情况下有条件地推迟昂贵的调用
- amazon-web-services - 有没有办法一次恢复多个快照?
- css - 赛普拉斯:如何获取伪进度元素的属性,如 --webkit-progress-bar 或 --moz-progress-bar
- html - 在不透明图像上具有透明背景的图像
- chromium - 每次打开用户编辑对话框时,SuiteCRM 十进制符号都会重置为用户名 - 可能是 chrome 自动填充问题
- find - 如何使用 find 或 xargs 计算包含至少两行的文件?
- c# - C# Dispatcher Invoke 和正常代码执行顺序