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