Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:SQL Server
Minden számtani operátor támogatott, kivéve idiv. Az alábbi példák az aritmetikai operátorok alapszintű használatát szemléltetik:
DECLARE @x xml
SET @x=''
SELECT @x.query('2 div 2')
SELECT @x.query('2 * 2')
Mivel idiv nem támogatott, a megoldás az xs:integer() konstruktor használata:
DECLARE @x xml
SET @x=''
-- Following will not work
-- SELECT @x.query('2 idiv 2')
-- Workaround
SELECT @x.query('xs:integer(2 div 3)')
Az aritmetikai operátor eredményül kapott típusa a bemeneti értékek típusain alapul. Ha az operandusok különböző típusúak, a típushierarchia szerint egy vagy mindkét operandus egy közös primitív alaptípusba kerül. A típushierarchiáról további információt az XQuery Típusbeosztási szabályok című témakörben talál.
A numerikus típus előléptetése akkor történik, ha a két művelet különböző numerikus alaptípus. Ha például egy xs:decimális ad hozzá egy xs:double először a decimális értéket dupla értékre módosítja. A következő lépésben a hozzáadás dupla értéket eredményez.
A be nem írt atomértékek a másik operandus numerikus alaptípusára, vagy az xs:dupla , ha a másik operandus is be van állítva.
Megvalósítási korlátozások
Ezek a korlátozások:
Az aritmetikai operátorok argumentumainak numerikus típusúnak vagy nem typedAtomickell lenniük.
A xs:egész szám értékek xs:decimális típusú értéket eredményeznek ahelyett, hogy xs:egész szám.