SQL表達式

適用於:檢查標記是的磚的SQL檢查標記是的磚運行時

一個表達式是一個公式,計算結果是基於文本或引用列,字段,或變量,使用函數或運算符。

語法

{文字|parameter_marker|column_reference|field_reference|parameter_reference|表達式|情況下表達式|expr操作符expr|操作符expr|expr(expr]|function_invocation|(expr)|(expr,expr(,])|scalar_subquery}scalar_subquery(查詢)

的括號expr(expr]實際的括號,不顯示可選的語法。

參數

  • 文字

    文字描述的類型數據類型

  • parameter_marker

    一個輸入值的占位符提供的API提交SQL語句。

  • column_reference

    引用一個表中某一列或列別名。

  • field_reference

    對字段的引用結構體類型

  • parameter_reference

    引用參數的SQL用戶定義函數的身體功能。可能使用不合格的名稱的引用參數與函數名或資格名稱。當解決標識符參數構成最外層的範圍。

  • 把表達式

    鑄造一種不同類型的參數表達式。

  • 案例表達

    一個表達式允許有條件的評估。

  • expr

    加上一個表達式本身操作符或者這是一個函數的參數。

  • 操作符

    一元或二元運算符。

  • expr (expr)

    引用一個數組元素或地圖的關鍵。

  • function_invocation

    一個表達式調用內置的或用戶定義的函數。

    頁麵為每個內置函數和運算符描述它們的參數的數據類型。磚執行隱式鑄造預期類型使用SQL數據類型規則。如果操作員或函數提供參數是無效的,磚提出了一個錯誤。函數也文檔哪些參數是必需的或可選的。

    當調用一個SQL用戶定義函數你可能省略參數的參數如果違約定義的參數。

  • (expr)

    執行優先級,覆蓋運算符優先級

  • (expr expr […])

    創建一個結構體兩個或兩個以上的字段。這個符號是同義的結構函數

  • scalar_subquery:

    • (查詢)

      一個表達式基於查詢必須返回一個列和一個行。

頁麵為每個函數和運算符描述它們的參數的數據類型。磚執行隱式鑄造預期類型使用SQL數據類型規則。如果操作員或函數提供參數是無效的,磚提出了一個錯誤。

看到列、字段和參數分辨率名稱解析的更多信息。

常數表達式

一個表達式僅基於文本或確定性函數不帶參數。磚可以執行通常的表達和使用產生恒定的文字是必需的。

布爾表達式

一個表達式的結果類型布爾。一個布爾表達式有時也稱為條件或者一個謂詞

標量子查詢

的表達形式(查詢)。一列的查詢必須返回一個表,最多一行。

如果查詢沒有返回任何行,結果是。如果查詢返回多個行,磚返回一個錯誤。否則,查詢結果返回的值。

簡單的表達式

不包含的表達式查詢,如標量子查詢或存在謂詞。

例子

>選擇1;1 >選擇(選擇1)+ 1;2 >選擇1 + 1;2 >選擇2 * (1 + 2);6 >選擇2 * 1 + 2;4 >選擇substr(“火花”,1、2);Sp >從價值選擇c1 + c2 (1、2), t (c1, c2);3 >選擇[1]的值(數組(10、20))當T(一個);20 >選擇正確;真正>選擇(c1, c2, c3))值(1、2、3)T (c1, c2, c3); {"c1":1,"col2":{"c2":2,"c3":3}}