DocumentDB SQL - 標量表達式



在 DocumentDB SQL 中,SELECT 語句也支援標量表達式,例如常量、算術表示式、邏輯表示式等。通常,很少使用標量查詢,因為它們實際上並不查詢集合中的文件,它們只是計算表示式。但是,使用標量表達式查詢來學習基礎知識、如何使用表示式和在查詢中塑造 JSON 仍然很有幫助,這些概念直接適用於您將針對集合中文件執行的實際查詢。

讓我們來看一個包含多個標量查詢的示例。

Scalar Queries

在查詢資源管理器中,僅選擇要執行的文字,然後單擊“執行”。讓我們執行第一個。

SELECT "Hello"

執行上述查詢後,它會產生以下輸出。

[ 
   { 
      "$1": "Hello" 
   } 
]

此輸出可能看起來有點混亂,所以讓我們分解一下。

  • 首先,正如我們在上次演示中看到的,查詢結果始終包含在方括號中,因為它們作為 JSON 陣列返回,即使像這樣只返回單個文件的標量表達式查詢的結果也是如此。

  • 我們有一個包含一個文件的陣列,並且該文件中有一個屬性,用於 SELECT 語句中的單個表示式。

  • SELECT 語句沒有為此屬性提供名稱,因此 DocumentDB 使用 $1 自動生成一個。

  • 這通常不是我們想要的,這就是為什麼我們可以使用 AS 為查詢中的表示式設定別名,這會根據您的需要設定生成的文件中的屬性名稱,在本例中為 word。

SELECT "Hello" AS word

執行上述查詢後,它會產生以下輸出。

[ 
   { 
      "word": "Hello" 
   } 
]

同樣,以下是另一個簡單的查詢。

SELECT ((2 + 11 % 7)-2)/3

查詢檢索以下輸出。

[ 
   { 
      "$1": 1.3333333333333333 
   } 
]

讓我們來看另一個塑造巢狀陣列和嵌入物件的示例。

SELECT 
   { 
      "words1": 
         ["Hello", "World"], 
      "words2": 
         ["How", "Are", "You?"] 
   } AS allWords

執行上述查詢後,它會產生以下輸出。

[ 
   { 
      "allWords": { 
         "words1": [ 
            "Hello", 
            "World" 
         ],
			
         "words2": [ 
            "How", 
            "Are", 
            "You?" 
         ] 
      } 
   } 
]
廣告
© . All rights reserved.