[英]How can I use try/catch/finally to make sure that the function will return value?
[英]How can I make sure the return is an array?
我正在使用 COALESCE 運算符來確保我返回一致的數據集。
查詢如下所示
SELECT c.id, c.ItemLevel, c.ItemNo, bv.variantId, bv.variantDescription, c.DetailedData.locales[0].images ?? c.BasicData.asset.assets[0].locations[1].path AS images, c.PriceData.WhitePrice, c.PriceData.RedPrice, c.PriceData.DiscountPercentage, c.PriceData.TypeOfDiscount
FROM c
JOIN bv IN c.BasicData.base.sales.variants
WHERE c.brand = 'XXX'
AND c.Consumer = 'YYY'
AND bv.variantId = 'TTT'
AND c.Season = 'XXX'
我的挑戰是c.DetailedData.locales[0].images
是一個數組,但c.BasicData.asset.assets[0].locations[1].path
不是。
我需要c.BasicData.asset.assets[0].locations[1].path
是一個數組,以便返回的 JSON 是一致的,這樣我就可以直接在我的移動應用程序中循環這個數組。
如何才能做到這一點?
我可能會得到你的積分。
例如,您有以下 2 個示例文檔:
[
{
"DetailedData": {
"locales": [
{
"images": [
{
"image": "pic1"
},
{
"image": "pic2"
}
]
}
]
}
},
{
"DetailedData": {},
"BasicData": {
"asset": {
"assets": [
{
"locations": [
{
"path": "AAA"
},
{
"path": "BBB"
}
]
}
]
}
}
}
]
如果你執行你的 sql,你會得到不同的格式:
SELECT c.DetailedData.locales[0].images ?? c.BasicData.asset.assets[0].locations[1].path AS images
FROM c
您可以添加[]
來重置列,例如:
SELECT c.DetailedData.locales[0].images ?? [{"image": c.BasicData.asset.assets[0].locations[1].path}] AS images
FROM c
輸出:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.