Microsoft.Azure.Documents.DocumentClientException 在 SQL 查询中
Microsoft.Azure.Documents.DocumentClientException in SQL query
我有一个 CosmosDB 函数,returns 两个值用竖线分隔。
我得把这些值分别赋值给各个字段,然后再转成浮点数。
在分离时,CHARINDEX 函数出现语法错误异常。
sqlQuerySpec.QueryText += "udf.UDF_Wh_Varh(c.Wh,c.Varh) as temp, ";
sqlQuerySpec.QueryText += " LEFT(temp, CHARINDEX(',', temp) - 1) as Wh, ";
sqlQuerySpec.QueryText += " RIGHT(temp, CHARINDEX('|', REVERSE(temp)) - 1) as Varh, ";
如果我随后添加 CAST 使其浮动,它会阻止我这样做。
这个问题好像和临时标识符的识别有关,但是我没有找到声明它的方法。我不能多次调用该函数,因为我已经达到了10个函数的限制。
我等待建议。
提前致谢,
西蒙
CHARINDEX
和 CAST
都不在 Cosmos DB 查询语言中,这就是不接受您的查询的原因。
唯一可接受的字符串函数是:CONCAT、CONTAINS、ENDSWITH、INDEX_OF、LEFT、LENGTH、LOWER、LTRIM、REPLACE、REPLICATE、REVERSE、RIGHT、RTRIM、STARTSWITH、SUBSTRING 和 UPPER。
您可以找到一个非常有用的 Cosmos DB 查询 cheat sheet here
我有一个 CosmosDB 函数,returns 两个值用竖线分隔。 我得把这些值分别赋值给各个字段,然后再转成浮点数。
在分离时,CHARINDEX 函数出现语法错误异常。
sqlQuerySpec.QueryText += "udf.UDF_Wh_Varh(c.Wh,c.Varh) as temp, ";
sqlQuerySpec.QueryText += " LEFT(temp, CHARINDEX(',', temp) - 1) as Wh, ";
sqlQuerySpec.QueryText += " RIGHT(temp, CHARINDEX('|', REVERSE(temp)) - 1) as Varh, ";
如果我随后添加 CAST 使其浮动,它会阻止我这样做。
这个问题好像和临时标识符的识别有关,但是我没有找到声明它的方法。我不能多次调用该函数,因为我已经达到了10个函数的限制。
我等待建议。
提前致谢,
西蒙
CHARINDEX
和 CAST
都不在 Cosmos DB 查询语言中,这就是不接受您的查询的原因。
唯一可接受的字符串函数是:CONCAT、CONTAINS、ENDSWITH、INDEX_OF、LEFT、LENGTH、LOWER、LTRIM、REPLACE、REPLICATE、REVERSE、RIGHT、RTRIM、STARTSWITH、SUBSTRING 和 UPPER。
您可以找到一个非常有用的 Cosmos DB 查询 cheat sheet here