如何在逻辑应用表达式中检查SQL执行查询数据是否为空?

时间:2019-07-04 06:06:43

标签: azure azure-logic-apps

在执行SQL_Exceute_Query后在逻辑应用中,我得到如下结果-

{
  "OutputParameters": {},
  "ResultSets": {}
}

如何使用表达式检查ResultSets没有任何数据?

我在body('Exceute_a_sql_query')?['ResultSets'] is not equal to '{}'中尝试过condition connector,但没有为我工作。

如果body('Exceute_a_sql_query')?['ResultSets'] having data go to if otherwise go to else

3 个答案:

答案 0 :(得分:3)

我尝试了is equal tois not equal to,它们都可以工作。但是,您无法使用设计器流程定义它,必须使用Code view定义它,否则它将不接受{}作为值。

enter image description here

我用ResultSets值定义一个变量。

enter image description here

希望这可以为您提供帮助。

答案 1 :(得分:1)

如果您不想初始化变量,另一种可能的解决方案是将其写为:

  "expression": {
    "and": [
      {
        "not": {
          "equals": [
            "@{body('Exceute_a_sql_query')?['ResultSets']}",
            "{}"
          ]
        }
      }
    ]
  }

但是如前所述,您需要在Code view中编辑表达式。并确保{}位于body语句周围。

答案 2 :(得分:1)

                "expression": {
                "and": [
                    {
                        "equals": [
                            "@empty(body('Execute_a_SQL_query_(V2)')?['resultsets'])",
                            false
                        ]
                    }
                ]
            },