ITPub博客

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

Oracle   SQL函数(三)

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

 数字函数

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

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

表1-2  数 字 函 

函    

说    

例    

ABS(x)

返回x的绝对值

ABS(10) 10 

ABS(-10) 10

ACOS(x)

返回x的反余弦

ACOS(1) 

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)

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

       19.95      -10.05       10.05

          30                     0

       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)

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

           -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)

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

               -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)

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

           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)

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

            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)

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

                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                       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)

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

          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.7                0

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

 


<!-- 正文结束 -->

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

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

注册时间:2009-05-14