zl程序教程

您现在的位置是:首页 >  Java

当前栏目

(九)单行函数——数值函数

2023-02-18 15:50:06 时间

目录

单行函数

数值函数

基本函数

角度与弧度互换函数

三角函数

指数和对数函数

进制间的转换


单行函数

  • 操作数据对象
  • 接受参数返回一个结果
  • 只对一行进行变换
  • 每行返回一个结果
  • 可以嵌套
  • 参数可以是一列或一个值

数值函数

基本函数

具体代码如下所示:

#基本的操作
SELECT ABS(-123),ABS(32),SIGN(-23),SIGN(43),PI(),CEIL(32.32),CEILING(-43.23),FLOOR(32.32),
FLOOR(-43.23),MOD(12,5),12 MOD 5,12 % 5
FROM DUAL;

运行结果如下所示:


#取随机数
SELECT RAND(),RAND(),RAND(10),RAND(10),RAND(-1),RAND(-1)
# 不带参数的函数随机生成0~1的数,参数相同的函数结果也相同
FROM DUAL;

运行结果如下所示:


#四舍五入
SELECT ROUND(123.556),ROUND(123.456,0),
ROUND(123.456,1),ROUND(123.456,2),
ROUND(123.456,-1),ROUND(153.456,-2)
# 加第二个参数表示保留几位有效数字,负数的意思是往前四舍五入
FROM DUAL;

运行结果如下所示:


#截断操作
SELECT TRUNCATE(123.456,0),TRUNCATE(123.496,1),TRUNCATE(129.45,-1)
# 与四舍五入类似,只不过这个是截断
FROM DUAL;

 运行结果如下所示:


#单行函数可以嵌套
SELECT TRUNCATE(ROUND(123.456,2),0)
FROM DUAL;

  运行结果如下所示:

角度与弧度互换函数

具体代码如下所示:

#角度与弧度的互换

SELECT RADIANS(30),RADIANS(45),RADIANS(60),RADIANS(90),
DEGREES(2*PI()),DEGREES(RADIANS(60))
FROM DUAL;

运行结果如下所示:

三角函数

#三角函数
SELECT SIN(RADIANS(30)),DEGREES(ASIN(1)),TAN(RADIANS(45)),DEGREES(ATAN(1))
FROM DUAL;

运行结果如下所示: 


        ATAN2(M,N)函数返回两个参数的反正切值。 与ATAN(X)函数相比,ATAN2(M,N)需要两个参数,例如有两个 点point(x1,y1)和point(x2,y2),使用ATAN(X)函数计算反正切值为ATAN((y2-y1)/(x2-x1)),使用ATAN2(M,N)计算反正切值则为ATAN2(y2-y1,x2-x1)。由使用方式可以看出,当x2-x1等于0时,ATAN(X)函数会报错,而 ATAN2(M,N)函数则仍然可以计算。

ATAN2(M,N)函数的使用示例如下: 

SELECT
DEGREES(ATAN(1)),DEGREES(ATAN2(1,1))
FROM DUAL;

运行结果如下所示:


指数和对数函数

#指数和对数
SELECT POW(2,5),POWER(2,4),EXP(2)
FROM DUAL;

SELECT LN(EXP(2)),LOG(EXP(2)),LOG10(10),LOG2(4)
FROM DUAL;

 运行结果如下所示:

进制间的转换

#进制间的转换
SELECT BIN(10),HEX(10),OCT(10),CONV(10,10,8)
FROM DUAL;

 运行结果如下所示: