XQuery中的算术表达式提供加(+)、减(-)、乘(*)、除(div,idiv)和取模(mod)功能。
这些是二元运算,XQuery还提供+,-的一元运算
计算时,
首先原子化操作数,如果原子化后操作数是空序列,那么运算结果是空序列。
如果原子化后操作数是长度大于等于1的序列,那么抛错。
如果原子化后操作数类型是xdt:untypedAtomic,那么将它转换为xs:double型后再运算。
需要注意的是因为XML中-是可以用作名字的,比如<ha-ha></ha-ha>.所以为了区分它,XQuery中的减号-前面需要有个空格。
比如$i-3和 $i -3的意义是完全不一样的。
另外,div和idiv的不同在于div和普通的除,而idiv则是做了普通的除之后再将结果转成integer型
例如:
-3 div 2 结果为-1.5
-3 idiv 2 结果为-1
这些是二元运算,XQuery还提供+,-的一元运算
计算时,
首先原子化操作数,如果原子化后操作数是空序列,那么运算结果是空序列。
如果原子化后操作数是长度大于等于1的序列,那么抛错。
如果原子化后操作数类型是xdt:untypedAtomic,那么将它转换为xs:double型后再运算。
需要注意的是因为XML中-是可以用作名字的,比如<ha-ha></ha-ha>.所以为了区分它,XQuery中的减号-前面需要有个空格。
比如$i-3和 $i -3的意义是完全不一样的。
另外,div和idiv的不同在于div和普通的除,而idiv则是做了普通的除之后再将结果转成integer型
例如:
-3 div 2 结果为-1.5
-3 idiv 2 结果为-1