单行函数:
- 操作数据对象
- 接受参数返回一个结果
- 只对一行进行变换
- 每行返回一个结果
- 可以嵌套
- 参数可以是一列或一个值
一、数值函数
1、ABS(x):返回x的绝对值
SELECT ABS(-123),ABS(32)
FROM DUAL
2、SIGN(x):返回x的符号
正数返回1,负数返回-1,0返回0
SELECT SIGN(-23),SIGN(43),SIGN(0)
FROM DUAL
3、PI():圆周率的值
SELECT PI()
FROM DUAL
4、CEIL(x)、CEILING(x):向上取整
不考虑四舍五入
SELECT CEIL(32.32),CEILING(-43.23)
FROM DUAL
5、FLOOR(x):向上取整
不考虑四舍五入
SELECT FLOOR(32.32),FLOOR(-43.23)
FROM DUAL
6、LEAST(n1,n2.....n):返回列表中的最小值
SELECT LEAST(1,4,3,7,5,9)
FROM DUAL
7、GREATEST(n1,n2.....n):返回列表中的最大值
SELECT GREATEST(1,4,3,7,5,9)
FROM DUAL
8、MOD(x,y):返回x除以y之后的余数
SELECT MOD(12,5)
FROM DUAL
9、RAND():返回0~1的随机值
SELECT RAND(),RAND()
FROM DUAL
10、RAND(x):返回0~1的随机值,其中x的值用作种子值,相同的x值会产生相同的随机数
SELECT RAND(10),RAND(10),RAND(-1),RAND(-1)
FROM DUAL
11、ROUND(x):返回一个对x的值进行四舍五入后,最接近于x的整数
SELECT ROUND(123.456),ROUND(123.556)
FROM DUAL
12、ROUND(x,y):返回一个对x的值进行四舍五入后最接近x的值,并保留到小数点后面Y位
SELECT ROUND(123.456,0),ROUND(123.456,1),ROUND(123.456,2),ROUND(123.456,-2)
FROM DUAL
13、TRUNCATE(x,y):返回数字x截断为y位小数的结果
SELECT TRUNCATE(123.456,0), TRUNCATE(123.456,1)
FROM DUAL
14、SQRT(x):返回x的平方根。当x的值为负数时,返回NULL
SELECT SQRT(4),SQRT(-4)
FROM DUAL
二、角度和弧度互换函数
1、RADIANS(x):将角度转化为弧度,其中,参数x为角度值
SELECT RADIANS(30),RADIANS(45),RADIANS(60),RADIANS(90)
FROM DUAL
2、DEGREES(x):将弧度转化为角度,其中,参数x为弧度值
SELECT DEGREES(2*pi()),DEGREES(RADIANS(60))
FROM DUAL
三、三角函数
1、SIN(x):返回x的正弦值,其中,参数x为弧度值
SELECT SIN(RADIANS(30))
FROM DUAL

2、ASIN(x):返回x的反正弦值,即获取正弦为x的值。
如果x的值不在-1到1之间,则返回NULL
SELECT DEGREES(ASIN(1))
FROM DUAL

3、COS(x):返回x的余弦值,其中,参数x为弧度值
SELECT COS(RADIANS(30))
FROM DUAL

4、ACOS(x):返回x的反余弦值,即获取余弦为x的值。
如果x的值不在-1到1之间,则返回NULL
SELECT DEGREES(ACOS(1))
FROM DUAL
5、TAN(x):返回x的正切值,其中,参数x为弧度值
SELECT TAN(RADIANS(45))
FROM DUAL

6、ATAN(x):返回x的反正切值,即返回正切值为x的值
SELECT DEGREES(ATAN(1))
FROM DUAL

7、ATAN2(m,n):返回两个参数的反正切值
SELECT ATAN2(1,2)
FROM DUAL

8、COT(x):返回x的余切值,其中,x为弧度值
SELECT COT(RADIANS(30))
FROM DUAL
四、指数与对数
1、返回x的y次方
SELECT POW(2,5),POWER(2,4)
FROM DUAL
2、返回e的x次方
其中e是一个常数,2.7182818284590
SELECT EXP(2)
FROM DUAL
3、返回以e为底的x的对数
当X<=0时,返回的结果为NULL
SELECT LOG(10),LN(2)
FROM DUAL
4、返回以10为底的x的对数
当X<=0时,返回的结果为NULL
SELECT LOG10(2)
FROM DUAL
5、返回以2为底的x的对数
当X<=0时,返回NULL
SELECT LOG2(4)
FROM DUAL
五、进制间的转换
1、返回x的二进制编码
SELECT BIN(10)
FROM DUAL
2、返回x的十六进制编码
SELECT HEX(10)
FROM DUAL
3、返回x的八进制编码
SELECT OCT(10)
FROM DUAL
4、返回f1进制数变成f2进制数
SELECT CONV(10,10,8)
FROM DUAL