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

华为GaussDB T 数值计算函数

墨天轮 2019-10-12
907

数值计算函数

ABS

语法:

ABS(exp)

功能:返回exp的绝对值。

  • 入参exp可以是数值类型或任何可以隐式转换为数值类型的非数值类型。
  • 函数返回值类型与参数exp数据类型相同。

说明:exp必须是可转为数值类型的表达式,返回exp的绝对值(包括:INT、BIGINT、REAL、NUMBER、DECIMAL类型)。

示例:

返回-100的绝对值。

SELECT ABS(-100) AS "Absolute" from SYS_DUMMY; Absolute ---------------------------------------- 100 1 rows fetched.

ACOS

语法:

ACOS(n)

功能:返回表达式n的反余弦值。

入参n是可转成数值型的表达式,取值范围为[-1,1]。返回值是NUMBER。

示例:

返回-1的反余弦值。

SELECT ACOS(-1) AS "ACOS" from SYS_DUMMY; ACOS ---------------------------------------- 3.1415926535897932384626433832795028842 1 rows fetched.

ASIN

语法:

ASIN(n)

功能:返回表达式n的反正弦值。

入参n是可转成数值型的表达式,取值范围为[-1,1]。返回值是NUMBER。

示例:

返回0.5的反正弦值。

SELECT ASIN(0.5) AS "ASIN" from SYS_DUMMY; ASIN ---------------------------------------- .523598775598298873077107230546583814033 1 rows fetched.

BITAND

语法:

BITAND(exp1,exp2)

功能:按位与运算。

入参是可转成数值型表达式。数值取值范围[-9223372036854775808, 9223372036854775807]。

示例:

对数字7(二进制111)和1(二进制001)执行AND运算:

SELECT BITAND(7,1) AS "BITAND" FROM SYS_DUMMY; BITAND -------------------- 1 1 rows fetched.

BITOR

语法:

BITOR(exp1,exp2)

功能:按位或运算。

入参是可转成数值型表达式。数值取值范围[-9223372036854775808, 9223372036854775807]。

示例:

返回29和15的按位或的值。

SELECT BITOR(29,15) AS "BITOR" from SYS_DUMMY; BITOR -------------------- 31 1 rows fetched.

BITXOR

语法:

BITXOR(exp1,exp2)

功能:按位异或运算。

入参是可转成数值型表达式。数值取值范围[-9223372036854775808, 9223372036854775807]。

示例:

返回以下各值之间的按位异或的值。

  • 示例1:
    SELECT BITXOR (1,1) AS "BITXOR" from SYS_DUMMY; BITXOR -------------------- 0 1 rows fetched.
  • 示例2:
    SELECT BITXOR (1,0)AS "BITXOR" from SYS_DUMMY; BITXOR -------------------- 1 1 rows fetched.
  • 示例3:
    SELECT BITXOR (11,3) AS "BITXOR" from SYS_DUMMY; BITXOR -------------------- 8 1 rows fetched.

CEIL

语法:

CEIL(n)

功能:返回大于或者等于指定表达式n的最小整数。

入参n是可转成数值型表达式。返回值是整数。

示例:

返回大于或者等于15.3的最小整数。

SELECT CEIL(15.3) AS "CEIL" from SYS_DUMMY; CEIL ---------------------------------------- 16 1 rows fetched.

COS

语法:

COS(n)

功能:返回表达式的余弦值。

入参是可转成数值型的表达式。返回值是NUMBER。

示例:

返回120度的余弦值。

SELECT COS(120 * 3.14159265359/180) AS "COS" from SYS_DUMMY; COS ---------------------------------------- -.50000000000011937382925089877706420632 1 rows fetched.

EXP

语法:

EXP(n)

功能:返回e(自然对数的底)的n次幂的值。

  • 返回类型为NUMBER。
  • 入参n是numeric数据类型或任何可以隐式转换为numeric数据类型的非数字数据类型。

示例:

返回e的3次幂的值。

SELECT EXP(3); EXP(3) ---------------------------------------- 20.085536923187667740928529654581717897

FLOOR

语法:

FLOOR(exp)

功能:求小于或等于表达式值的最近的整数。

入参是可转成数值型表达式。返回值是NUMBER。

示例:

返回等于或小于12.8的最大整数。

SELECT FLOOR(12.8) AS "FLOOR" from SYS_DUMMY; FLOOR ---------------------------------------- 12 1 rows fetched.

INET_NTOA

语法:

INET_NTOA(exp)

功能:将给定的数字地址转换为网络地址。

入参是数值型表达式。

示例:

将4294967295转化为网络地址。

SELECT INET_NTOA(4294967295) FROM SYS_DUMMY; INET_NTOA(4294967295) --------------------- 255.255.255.255 1 rows fetched.

LN

语法:

LN(exp)

功能:自然对数(以e为底)。

入参是可转成number类型的表达式。返回值是NUMBER类型。

说明:exp当前只支持大于0的NUMBER类型。

示例:

返回70的自然对数。

SELECT LN(70) AS "LN" from SYS_DUMMY; LN ---------------------------------------- 4.24849524204935898912334419812754393724 1 rows fetched.

LOG

语法:

log(exp1[,exp2])

功能:对数运算(以exp1为底)。

入参是可转成number类型的表达式。返回值是NUMBER类型。

说明

  • exp1和exp2当前只支持number。
  • 若不传exp2,则默认以e为底,即log(exp1)=ln(exp1)。

示例:

返回以3为底,81的对数。

SELECT LOG(3,81) AS "LOG" from SYS_DUMMY; LOG ---------------------------------------- 4 1 rows fetched.

MOD

语法:

MOD(exp1,exp2)

功能:求模运算。

入参是可转成NUMBER类型的表达式。返回值是NUMBER。

示例:

返回29除以3的余数。

SELECT MOD(29,3) AS "MOD" from SYS_DUMMY; MOD ---------------------------------------- 2 1 rows fetched.

POWER

语法:

POWER(base,expn)

功能:返回数字乘幂的计算结果。

入参base表示底数,expn表示指数。返回值:NUMBER。

说明:

  • 当参数expn的值为小数时,表示计算的是开方。
  • 当参数base取值小于0且参数expn为小数时,POWER函数将返回超过支持范围的报错。

示例:

返回5的3次幂的值。

SELECT POWER(5,3) AS "POWER" from SYS_DUMMY; POWER ---------------------------------------- 125 1 rows fetched.

RAWTOHEX

语法:

RAWTOHEX(exp)

功能:将RAW类数值exp转换为一个相应的十六进制表示的字符串。

入参是RAW类数值。返回值是字符串。

示例:

将 '0123456789abcdef'转换为一个相应的十六进制表示的字符串。
SELECT RAWTOHEX ('0123456789abcdef') FROM SYS_DUMMY; RAWTOHEX('0123456789ABCDEF') ----------------------------------- 30313233343536373839616263646566 1 rows fetched.

ROUND

语法:

ROUND(number[,decimals])

功能:将number类数值按照decimals指定的向小数点前后截断,返回截断后的值。

  • 入参number是数值。
  • decimals指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分,并四舍五入。取值范围[-2147483648,2147483647]。
  • 如果为负数则表示从小数点开始左边的位数,相应整数数字用0填充,并四舍五入,小数部分被去掉。

示例:

  • 将1234.5678向后截断1位输出。
    SELECT ROUND(1234.5678, 1) FROM SYS_DUMMY; ROUND(1234.5678, 1) ---------------------------------------- 1234.6 1 rows fetched.
  • 将1234.5678所有小数部分截断。
    SELECT ROUND(1234.5678) FROM SYS_DUMMY; ROUND(1234.5678) ---------------------------------------- 1235 1 rows fetched.
  • 将1234.5678向前截断1位输出。
    SELECT ROUND(1234.5678, -1) FROM SYS_DUMMY; ROUND(1234.5678, -1) ---------------------------------------- 1230 1 rows fetched.

SIGN

语法:

SIGN(exp)

功能:取exp结果的符号,大于0返回1,小于0返回-1,等于0返回0。

入参exp是数值类型。

示例:

获取表达式5-6 的符号。
SELECT SIGN(5-6) FROM SYS_DUMMY; SIGN(5-6) ---------------------------------------- -1 1 rows fetched.

SIN

语法:

SIN(n)

功能:返回表达式的正弦值。

入参是可转成数值型的表达式。返回值是NUMBER。

示例:

返回45度的正弦值。

SELECT SIN(45 * 3.14159265359/180) AS "SIN" from SYS_DUMMY; SIN ---------------------------------------- .707106781186584075022132715997995378626 1 rows fetched.

SQRT

语法:

SQRT(n)

功能:返回非负实数的平方根。

入参是可转成非负数值型表达式。返回值是decimal。

示例:

返回49的平方根。

SELECT SQRT(49) AS "SQRT" from SYS_DUMMY; SQRT ---------------------------------------- 7 1 rows fetched.

TRUNC

语法:

TRUNC(number,scale)

功能:按指定的格式截取输入的数值数据。

number是待截取的数据,scale截取精度。返回值:NUMBER。

示例:

以下示例截断数字。

SELECT TRUNC(15.79,1) AS "TRUNC" from SYS_DUMMY; TRUNC ---------------------------------------- 15.7 1 rows fetched.
SELECT TRUNC(15.79,-1)AS "TRUNC" from SYS_DUMMY; TRUNC ---------------------------------------- 10 1 rows fetched.
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论