共用方式為


算術運算式 (XQuery)

適用於:SQL Server

除了 idiv 之外, 支援所有算術運算子。 下列範例說明算術運算子的基本用法:

DECLARE @x xml  
SET @x=''  
SELECT @x.query('2 div 2')  
SELECT @x.query('2 * 2')  

因為 不支援 idiv ,因此解決方案是使用 xs:integer() 建構函式:

DECLARE @x xml  
SET @x=''  
-- Following will not work  
-- SELECT @x.query('2 idiv 2')  
-- Workaround   
SELECT @x.query('xs:integer(2 div 3)')  

算術運算子所產生的型別是以輸入值的類型為基礎。 如果運算元是不同的類型,當需要時,兩者都會根據類型階層轉換成一般基本類型。 如需類型階層的相關資訊,請參閱 XQuery 中的類型轉換規則。

如果兩個作業是不同的數值基底類型,就會發生數數值型別升級。 例如,將 xs:decimal 新增至 xs:double 會先將十進位值變更為 double 。 接下來,將會執行會產生雙精度浮點數的值。

不具類型的不可部分完成值會轉換成其他運算元的數值基底類型,如果 另一個運算元也是不具類型的,則轉換成 xs:double

實作限制

以下是限制:

  • 算術運算子的引數必須是數數值型別或 untypedAtomic

  • xs:integer 值的作業會產生 xs:decimal 類型的 值,而不是 xs:integer