ITPub博客

首页 > 数据库 > Oracle > Oracle   SQL函数(三)

Oracle   SQL函数(三)

Oracle 作者:hlong12345 时间:2013-12-07 21:35:21 0 删除 编辑

2  数字函数

数字函数能够用于谋略。数字函数能够领受输进的数字参数,这些数字能够往自于一个表中的数字列,也能够是一个成果为数字的表达式。数字函数会对这些输进的数字停止谋略,并返回一个数字成果。数字函数的一个例子是SQRT(x),该函数返回x的平方根。

表1-2列出了一些常用的数字函数。

表1-2  数 字 函 数

函    数

说    明

例    子

ABS(x)

返回x的绝对值

ABS(10) = 10 

ABS(-10) = 10

ACOS(x)

返回x的反余弦

ACOS(1) = 0 

ACOS(-1) = 3.14159265

ASIN(x) 

返回x的回正弦

ASIN(1) = 1.57079633

ASIN(-1) = -1.5707963

ATAN(x) 

返回x的回正切

ATAN(1) = .785398163

ATAN(-1) = -.78539816

ATAN2(x, y) 

返回x 和y的回正切

ATAN2(1, -1) = 2.35619449

BITAND(x, y)

返回对x和y停止位与(AND)把持的成果

BITAND(0, 0) = 0

BITAND(0, 1) = 0

BITAND(1, 0) = 0

BITAND(1, 1) = 1

BITAND(1010, 1100) = 64

COS(x) 

返回x的余弦,个中x是弧度

COS(90 * 3.1415926) = 1

COS(45 * 3.1415926) = -1

COSH(x) 

返回x的单曲余弦函数

COSH(3.1415926) = 11.5919527

CEIL(x) 

返回年夜于或便是x的最小整数

CEIL(5.8) = 6

CEIL(-5.2) = -5

EXP(x) 

返回e的x次幂,个中e约便是2.71828183

EXP(1) = 2.71828183

EXP(2) = 7.3890561

FLOOR(x) 

返回小于或便是x的最年夜整数 

FLOOR(5.8) = 5

FLOOR(-5.2) = -6

LOG(x, y) 

返回以x为底y的对数

LOG(2, 4) = 2

LOG(2, 5) = 2.32192809

LN(x) 

返回x的天然对数

LN(2.71828183) = 1

MOD(x, y) 

返回x除以y的余数

MOD(8, 3) = 2

MOD(8, 4) = 0

POWER(x, y)

返回x的y次幂

POWER(2, 1) = 2

POWER(2, 3) = 8

ROUND(x[, y]) 

返回对x与整的成果;y为可选参数,申明对第几位小数与整。假如出有指定y,则对x正在0位小数处与整;假如y是背数,则对x正在小数点的左边的第|y|位处与整

ROUND(5.75) = 6

ROUND(5.75, 1) = 5.8

ROUND(5.75, -1) = 10

SIGN(x) 

假如x是背数,则返回-1;假如x是正数则返回1;假如x为0则返回0

SIGN(-5) = -1

SIGN(5) = 1

SIGN(0) = 0

SIN(x) 

返回x的正弦函数

SIN(0) = 0

SINH(x) 

返回x的单曲正弦函数

SINH(1) = 1.17520119

SQRT(x) 

返回x的平方根

SQRT(25) = 5

SQRT(5) = 2.23606798

TAN(x) 

返回x的正切函数

TAN(0) = 0

TANH(x) 

返回x的单曲正切函数

TANH(1) = .761594156

TRUNC(x[, y]) 

返回对x截断的成果;y为可选参数,申明对第几位小数截断。假如出有指定y,则对x正在0位小数处截断;假如y是背数,则对x正在小数点左边的第|y|位处截断

TRUNC(5.75) = 5

TRUNC(5.75, 1) = 5.7

TRUNC(5.75, -1) = 0

1. ABS()

ABS(x)用于获得x的绝对值。一个数字的绝对值就是这个数字往掉符号后获得的数字值。上面这个查询给出了10和-10的绝对值:

SELECT ABS(10), ABS(-10)

FROM dual;

ABS(10)       ABS(-10)

----------    -----------

10            10

能够看到,10的绝对值是10,-10的绝对值也是10。

固然,任何数字函数的输进参数不一定是字面数字。输进参数能够是一个表中的数字列,年夜概更一样泛泛天讲,能够是尽情有用的表达式。上面这个例子隐示了products表中前3个产品的price列减往30以后的绝对值:

SELECT product_id, price, price – 30, ABS(price - 30)

FROM products

WHERE product_id < 4;

PRODUCT_ID         PRICE     PRICE-30     ABS(PRICE-30)

--------------    -------    --------     -------------

1        19.95      -10.05       10.05

2           30           0           0

3        25.99       -4.01        4.01

2. CEIL()

CEIL(x)用于获得年夜于或便是x的最小整数。上面这个查询操纵CEIL函数获得划分隐示了5.8和-5.2的上与整后的成果:

SELECT CEIL(5.8), CEIL(-5.2)

FROM dual;

CEIL(5.8)    CEIL(-5.2)

----------   ----------

6            -5

5.8上与整的成果是6;这是果为6是年夜于或便是5.8的最小整数。而-5.2上与整的成果是-5;这是果为-5.2是背数,年夜于它的最小整数是-5。

3. FLOOR()

FLOOR(x)用于获得小于或便是x的最年夜整数。上面这个查询操纵FLOOR函数划分隐示了5.8和-5.2的下与整后的成果:

SELECT FLOOR(5.8), FLOOR(-5.2)

FROM dual;

FLOOR(5.8)      FLOOR(-5.2)

------------      -----------

5                -6

5.8下与整的成果是5;这是果为5是小于或便是5.8的最年夜整数。而-5.2下与整的成果是-6;这是果为-5.2是背数,小于它的最年夜整数是-6。

4. MOD()

MOD(x, y)用于谋略x除以y所得的余数。上面这个查询操纵MOD函数划分隐示了8除以3和4的余数:

SELECT MOD(8, 3), MOD(8, 4)

FROM dual;

MOD(8,3)     MOD(8,4)

----------   ----------

2            0

8除以3的余数是2;这是果为8中减往2个3以后,就只剩下2了——这就是余数。而8除以4的余数是0;这是果为8中减往2个4以后,就只剩下0了。

5. POWER()

POWER(x, y)用于谋略x的y次幂。上面这个查询操纵POWER函数划分隐示了2的1次幂和3次幂:

SELECT POWER(2, 1), POWER(2, 3)

FROM dual;

POWER(2,1)    POWER(2,3)

-----------   --------------

2             8

2的1次幂等价与2×1,成果是2;2的3次幂等价与2×2×2,成果是8。

6. ROUND()

ROUND(x, [y])用于谋略对x与整的成果;个中y为可选参数,申明对第几位小数与整。假如出有指定y,则对x正在0位小数处与整;假如y是背数,则对x正在小数点的左边的第|y|位处与整。

上面这个查询操纵ROUND函数划分隐示了对5.75正在0位、1位和-1位小数处与整的成果: 

SELECT ROUND(5.75), ROUND(5.75, 1), ROUND(5.75, -1)

FROM dual;

ROUND(5.75)   ROUND(5.75,1)   ROUND(5.75,-1)

-----------   -------------   --------------

6                 5.8                10

5.75正在第0位小数处与整成果为6。5.75正在(小数点右侧的)第1位小数处与整成果为5.8。5.75正在(果为操纵了符号,所以该当是小数点左边的)第1位小数处与整成果为10。

7. SIGN()

SIGN(x)用于获得x的符号。假如x为背数,SIGN(x)就返回-1;假如x为正数,SIGN(x)就返回1;假如x为0,SIGN(x)就返回0。上面这个查询操纵SIGN函数划分隐示了-5、5和0的符号: 

SELECT SIGN(-5), SIGN(5), SIGN(0)

FROM dual;

SIGN(-5)     SIGN(5)     SIGN(0)

----------   ----------  ---------

-1             1           0

-5的符号是-1;5的符号是1;0的符号是0。

8. SQRT()

SQRT (x)函数用于谋略x的平方根。上面这个查询操纵SQRT()函数划分隐示了25和5的平方根: 

SELECT SQRT(25),  SQRT(5)

FROM dual;

SQRT(25)     SQRT(5)

----------   ------------

5           2.23606798

25的平方根是5;5的平方根大约是2.236。

9. TRUNC()

TRUNC (x, [y])函数用于谋略对x截断的成果;y为可选参数,申明对第几位小数截断。假如出有指定y,则对x正在0位小数处截断;假如y是背数,则对x正在小数点的左边的第|y|位处截断。上面这个查询隐示了对5.75正在0位、1位和-1位小数处截断的成果:

SELECT TRUNC(5.75), TRUNC(5.75, 1), TRUNC(5.75, -1)

FROM dual;

TRUNC(5.75)      TRUNC(5.75,1)      TRUNC(5.75,-1)

---------------  ---------------    --------------

5                  5.7                0

能够从上面这个例子中看到,5.75正在第0位小数处截断成果为5。5.75正在(小数点右侧的)第1位小数处截断成果为5.7。5.75正在(果为操纵了背号,所以该当是小数点左边的)第1位小数处截断成果为0。

 


<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21649846/viewspace-1115685/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-05-14