算术运算符
算术运算符是用于对数字型操作数进行运算,如:加、减、乘、除等。
GaussDB 100支持的算术运算符请见表1。
表1 算术运算符运算符
|
描述
|
示例
|
+
|
加
|
SELECT 2+3 AS RESULT FROM SYS_DUMMY;
RESULT
--------------------
5
1 rows fetched.
|
–
|
减
|
SELECT 2-3 AS RESULT FROM SYS_DUMMY;
RESULT
--------------------
-1
1 rows fetched.
|
*
|
乘
|
SELECT 2*3 AS RESULT FROM SYS_DUMMY;
RESULT
--------------------
6
1 rows fetched.
|
/
|
除(除法操作符不会取整)
|
SELECT 4/2 AS RESULT FROM SYS_DUMMY;
RESULT
--------------------
2
1 rows fetched.
SELECT 4/3 AS RESULT FROM SYS_DUMMY;
RESULT
--------------------
1.33333333333333
1 rows fetched.
|
%
|
模运算
|
SELECT 20%6 AS RESULT FROM SYS_DUMMY;
RESULT
------------
2
1 rows fetched.
|
||
|
字符串拼接
|
SELECT '10001' || '011' AS RESULT FROM SYS_DUMMY;
RESULT
--------
10001011
1 rows fetched.
|
|
|
按位或
|
SELECT '17' | '13' AS RESULT FROM SYS_DUMMY;
RESULT
--------------------
29
1 rows fetched.
注:17二进制10001;13二进制01101,按位或结果为11101即为29。
|
&
|
按位与
|
SELECT '17' & '13' AS RESULT FROM SYS_DUMMY;
RESULT
--------------------
1
1 rows fetched.
注:17二进制10001;13二进制01101,按位与结果为00001即为1。
|
^
|
按位异或
|
SELECT '17' ^ '13' AS RESULT FROM SYS_DUMMY;
RESULT
--------------------
28
1 rows fetched.
注:17二进制10001;13二进制01101,按位异或结果为11100即为28。
|
<<
|
左移位
|
SELECT 10<<2 AS RESULT FROM SYS_DUMMY;
RESULT
--------------------
40
1 rows fetched.
注:10左移两位相当于10*4。
|
>>
|
右移位
|
SELECT 10>>2 AS RESULT FROM SYS_DUMMY;
RESULT
--------------------
2
1 rows fetched.
|
说明: - 优先级顺序为:四则运算>左移和右移>位与>位异或>位或。
- 以上按位运算符执行时,如果入参带有小数位,则会先对入参作四舍五入,然后再作位运算。而BITOR、BITAND、BITXOR函数对于该场景的处理是对入参向下取整后再作位运算。
- 以上运算符执行时,如果入参包含NULL,则结果返回空串。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。