gpt4 book ai didi

node.js - 检查 CosmosDB 查询中参数是否为 null

转载 作者:行者123 更新时间:2023-12-02 07:34:03 24 4
gpt4 key购买 nike

如何检查@azure/cosmos sdk中的参数是否为空查询数据库时?

我尝试过 IS_NULL 或 IS_EMPTY,两者都会破坏查询:

await container.items
.query({
query: `
SELECT * from company
WHERE company.location = @location

AND (@dateFrom IS NULL OR company.createdAt >= @dateFrom)
AND (@dateTo IS NULL OR company.createdAt < @dateTo)

ORDER BY company.createdAt DESC
`,
parameters: [
{ name: "@location", value: "Germany" },
{ name: "@dateFrom", value: new Date().setFullYear(new Date().getFullYear() - 5)},
{ name: "@dateTo", value: new Date() },
]
})
.fetchAll();

我收到此错误:

Message: {\"errors\":[{\"severity\":\"Error\",\"location\":{\"start\":243,\"end\":245},\"code\":\"SC1001\",\"message\":\"Syntax error, incorrect syntax near 'IS'.\"}]}

最佳答案

我发现 IS_DEFINED 函数并不完全符合需要,因为该属性通常已定义,但保留空值。

相反,我找到了 IS_NULL工作功能:

AND (IS_NULL(@dateFrom) = true OR company.createdAt >= @dateFrom)
AND (IS_NULL(@dateTo) = true OR company.createdAt < @dateTo)

关于node.js - 检查 CosmosDB 查询中参数是否为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71292952/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com