共用方式為


算術表示式 (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