暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T 算术运算符

墨天轮 2019-10-12
943

算术运算符

算术运算符是用于对数字型操作数进行运算,如:加、减、乘、除等。

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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论