Oracle 常见函数(一)——数值函数
- 格式:docx
- 大小:295.49 KB
- 文档页数:11
ORACLE_分析函数大全Oracle分析函数是一种高级SQL函数,它可以在查询中实现一系列复杂的分析操作。
这些函数可以帮助我们在数据库中执行各种数据分析和报表生成任务。
本文将介绍Oracle数据库中的一些常用分析函数。
1.ROW_NUMBER函数:该函数为查询结果中的每一行分配一个唯一的数字。
可以用它对结果进行排序或分组。
例如,可以使用ROW_NUMBER函数在结果集中为每个员工计算唯一的编号。
2.RANK和DENSE_RANK函数:这两个函数用于计算结果集中每个行的排名。
RANK函数返回相同值的行具有相同的排名,并且下一个排名值将被跳过。
DENSE_RANK函数类似,但是下一个排名值不会被跳过。
G和LEAD函数:LAG函数返回结果集中指定列的前一个(上一个)行的值,而LEAD函数返回后一个(下一个)行的值。
这些函数通常用于计算增长率或发现趋势。
4.FIRST和LAST函数:这两个函数用于返回结果集中分组的第一个和最后一个行的值。
可以与GROUPBY子句一起使用。
5.CUME_DIST函数:该函数用于计算给定值的累积分布。
它返回值的累积分布在结果集中的位置(百分比)。
6.PERCENT_RANK函数:该函数用于计算结果集中每个行的百分位数排名。
它返回值的百分位数排名(0到1之间的小数)。
7. NTILE函数:该函数用于将结果集分成指定数量的桶(Bucket),并为每个行分配一个桶号。
通常用于将数据分组为更小的块。
8.LISTAGG函数:该函数将指定列的值连接成一个字符串,并使用指定的分隔符分隔每个值。
可以用它将多个值合并在一起形成一个字符串。
9.AVG、SUM、COUNT和MAX/MIN函数:这些是常见的聚合函数,可以在分析函数中使用。
它们用于计算结果集中的平均值、总和、计数和最大/最小值。
以上只是Oracle数据库中的一些常用分析函数。
还有其他一些分析函数,如PERCENTILE_CONT、PERCENTILE_DISC等可以用于更高级的分析计算。
【一】、Oracle常用的统计函数Avg(x):求一组行中列x值的平均值count(x):求一组行中列x值的非空行数count(*):求一组行的总行数max(x):求一组行中列x值的最大值min(x):求一组行中列x值的最小值stddev(x):求一组行中列x值的标准差sum(x):求一组行中列x值的总和variance(x):求一组行中列x值的方差【二】、group by与统计函数使用上面介绍的函数时可以使用也可以不使用group by ,但在使用group by时,未在group by部分用到的列在select 部分出现时必须使用统计函数,如按角色统计平均年龄Select user_name,avg(age) from usersGroup by role_id; ×Select count(user_name),avg(age) from usersGroup by role_id√【三】、用having字句规定统计条件having 子句的作用类似于where子句,只不过where 子句针对单个行,而having子句针对的是统计结果,一般和统计的函数搭配使用。
Having子句后必须为前面select后面的子部分,或是group by 后面的字段select count(uer_name),avg(age) from users group by role_id having role_id>20; ×select count(uer_name),avg(age) from users group by role_id having avg(age)>20; √【四】其他oracle常用函数Decode(column1,value1,output1,value2,output2,…..)如果column1 有一个值为value1那么将会用output1 来代替当前值,如果column1 的值为value2 那么就用OUTPUT2 来代替当前值,如果column1 中哪两个值都不是,那么就会用OUTPUT3 来代替当前值Select decode(age,10,7,9,6,3),user_name from users;SQL中的单记录函数1.ASCII返回与指定的字符对应的十进制数;SQL> select ascii(’A’) A,ascii(’a’) a,ascii(’0’) zero,ascii(’ ’) space from dual;A A ZERO SPACE--------- --------- --------- ---------65 97 48 322.CHR给出整数,返回对应的字符;SQL> select chr(54740) zhao,chr(65) chr65 from dual;ZH C-- -赵 A3.CONCAT连接两个字符串;SQL> select concat(’010-’,’88888888’)||’转23’ 高乾竞电话from dual;高乾竞电话----------------************转234.INITCAP返回字符串并将字符串的第一个字母变为大写;SQL> select initcap(’smith’) upp from dual;UPP-----Smith5.INSTR(C1,C2,I,J)在一个字符串中搜索指定的字符,返回发现指定的字符的位置;C1 被搜索的字符串C2 希望搜索的字符串I 搜索的开始位置,默认为1J 出现的位置,默认为1SQL> select instr(’oracle traning’,’ra’,1,2) instring from dual;INSTRING---------96.LENGTH返回字符串的长度;SQL> select name,length(name),addr,length(addr),sal,length(to_char(sal)) from gao.nchar_tst; NAME LENGTH(NAME) ADDR LENGTH(ADDR) SAL LENGTH(TO_CHAR(SAL))------ ------------ ---------------- ------------ --------- --------------------高乾竞 3 北京市海锭区6 9999.99 77.LOWER返回字符串,并将所有的字符小写SQL> selec t lower(’AaBbCcDd’)AaBbCcDd from dual;AABBCCDDaabbccdd8.UPPER返回字符串,并将所有的字符大写SQL> select upper(’AaBbCcDd’) upper from dual;UPPER--------AABBCCDD9.RPAD和LPAD(粘贴字符)RPAD 在列的右边粘贴字符LPAD 在列的左边粘贴字符SQL> select lpad(rpad(’gao’,10,’*’),17,’*’)from dual;LPAD(RPAD(’GAO’,1-----------------*******gao*******不够字符则用*来填满10.LTRIM和RTRIMLTRIM 删除左边出现的字符串RTRIM 删除右边出现的字符串SQL> select ltrim(rtrim(’ gao qian jing ’,’ ’),’ ’) from dual;LTRIM(RTRIM(’-------------gao qian jing11.SUBSTR(string,start,count)取子字符串,从start开始,取count个SQL> select substr(’130****8888’,3,8)from dual;SUBSTR(’--------0888888812.REPLACE(’string’,’s1’,’s2’)string 希望被替换的字符或变量s1 被替换的字符串s2 要替换的字符串SQL> select replace(’he love you’,’he’,’i’) from d ual;REPLACE(’H----------i love you13.SOUNDEX返回一个与给定的字符串读音相同的字符串SQL> create table table1(xm varchar(8));SQL> insert into table1 values(’weather’);SQL> insert into table1 values(’wether’);SQL> insert into table1 values(’gao’);SQL> select xm from table1 where soundex(xm)=soundex(’weather’);--------weatherwether14.TRIM(’s’ from ’string’)LEADING 剪掉前面的字符TRAILING 剪掉后面的字符如果不指定,默认为空格符15.ABS返回指定值的绝对值SQL> select abs(100),abs(-100) from dual; ABS(100) ABS(-100)--------- ---------100 10016.ACOS给出反余弦的值SQL> select acos(-1) from dual;ACOS(-1)---------3.141592717.ASIN给出反正弦的值SQL> select asin(0.5) from dual;ASIN(0.5)---------.5235987818.ATAN返回一个数字的反正切值SQL> select atan(1) from dual;ATAN(1)---------.7853981619.CEIL返回大于或等于给出数字的最小整数SQL> select ceil(3.1415927) from dual; CEIL(3.1415927)---------------420.COS返回一个给定数字的余弦SQL> select cos(-3.1415927) from dual; COS(-3.1415927)----------------121.COSH返回一个数字反余弦值SQL> select cosh(20) from dual;COSH(20)---------24258259822.EXP返回一个数字e的n次方根SQL> select exp(2),exp(1) from dual;EXP(2) EXP(1)--------- ---------7.3890561 2.718281823.FLOOR对给定的数字取整数SQL> select floor(2345.67) from dual;FLOOR(2345.67)--------------234524.LN返回一个数字的对数值SQL> select ln(1),ln(2),ln(2.7182818) from dual;LN(1) LN(2) LN(2.7182818)--------- --------- -------------0 .69314718 .9999999925.LOG(n1,n2)返回一个以n1为底n2的对数SQL> select log(2,1),log(2,4) from dual;LOG(2,1) LOG(2,4)--------- ---------0 226.MOD(n1,n2)返回一个n1除以n2的余数SQL> select mod(10,3),mod(3,3),mod(2,3) from dual; MOD(10,3) MOD(3,3) MOD(2,3)--------- --------- ---------1 0 227.POWER返回n1的n2次方根SQL> select power(2,10),power(3,3) from dual; POWER(2,10) POWER(3,3)----------- ----------1024 2728.ROUND和TRUNC按照指定的精度进行舍入SQL> select round(55.5),round(-55.4),trunc(55.5),trunc(-55.5) from dual; ROUND(55.5) ROUND(-55.4) TRUNC(55.5) TRUNC(-55.5)----------- ------------ ----------- ------------56 -55 55 -5529.SIGN取数字n的符号,大于0返回1,小于0返回-1,等于0返回0SQL> select sign(123),sign(-100),sign(0) from dual;SIGN(123) SIGN(-100) SIGN(0)--------- ---------- ---------1 -1 030.SIN返回一个数字的正弦值SQL> select sin(1.57079) from dual;SIN(1.57079)------------131.SIGH返回双曲正弦的值SQL> select sin(20),sinh(20) from dual;SIN(20) SINH(20)--------- ---------.91294525 24258259832.SQRT返回数字n的根SQL> select sqrt(64),sqrt(10) from dual;SQRT(64) SQRT(10)--------- ---------8 3.162277733.TAN返回数字的正切值SQL> select tan(20),tan(10) from dual;TAN(20) TAN(10)--------- ---------2.2371609 .6483608334.TANH返回数字n的双曲正切值SQL> select tanh(20),tan(20) from dual;TANH(20) TAN(20)--------- ---------1 2.237160935.TRUNC按照指定的精度截取一个数SQL> select trunc(124.1666,-2) trunc1,trunc(124.16666,2) from dual;TRUNC1 TRUNC(124.16666,2)--------- ------------------100 124.1636.ADD_MONTHS增加或减去月份SQL> select to_char(add_months(to_date(’199912’,’yyyymm’),2),’yyyymm’) from dual;TO_CHA------200002SQL> s elect to_char(add_months(to_date(’199912’,’yyyymm’),-2),’yyyymm’) from dual;TO_CHA------199910ST_DAY返回日期的最后一天SQL> select to_char(sysdate,’yyyy.mm.dd’),to_char((sysdate)+1,’yyyy.mm.dd’) from dual;TO_CHAR(SY TO_CHAR((S---------- ----------2004.05.09 2004.05.10SQL> select last_day(sysdate) from dual;LAST_DAY(S----------31-5月-0438.MONTHS_BETWEEN(date2,date1)给出date2-date1的月份SQL> select months_between(’19-12月-1999’,’19-3月-1999’) mon_between from dual;MON_BETWEEN-----------9SQL>selectmonths_between(to_date(’2000.05.20’,’yyyy.mm.dd’),to_date(’2005.05.20’,’yyyy.mm.dd’)) mon_betw from dual; MON_BETW----------6039.NEW_TIME(date,’this’,’that’)给出在this时区=other时区的日期和时间SQL> select to_char(sysdate,’yyyy.mm.dd hh24:mi:ss’) bj_time,to_char(new_time2 (sysdate,’PDT’,’GMT’),’yyyy.mm.dd hh24:mi:ss’) los_angles from dual;BJ_TIME LOS_ANGLES------------------- -------------------2004.05.09 11:05:32 2004.05.09 18:05:32给出日期date和星期x之后计算下一个星期的日期S QL> select next_day(’18-5月-2001’,’星期五’) next_day from dual; NEXT_DAY----------25-5月-0141.SYSDATE用来得到系统的当前日期SQL> select to_char(sysdate,’dd-mm-yyyy day’) from dual;TO_CHAR(SYSDATE,’-----------------09-05-2004 星期日trunc(date,fmt)按照给出的要求将日期截断,如果fmt=’mi’表示保留分,截断秒SQL> select to_char(trunc(sysdate,’hh’),’yyyy.mm.dd hh24:mi:ss’) hh,2 to_char(trunc(sysdate,’mi’),’yyyy.mm.dd hh24:mi:ss’) hhmm from dual; HH HHMM------------------- -------------------2004.05.09 11:00:00 2004.05.09 11:17:0042.CHARTOROWID将字符数据类型转换为ROWID类型SQL> select rowid,rowidtochar(rowid),ename from scott.emp;ROWID ROWIDTOCHAR(ROWID) ENAME------------------ ------------------ ----------AAAAfKAACAAAAEqAAA AAAAfKAACAAAAEqAAA SMITH AAAAfKAACAAAAEqAAB AAAAfKAACAAAAEqAAB ALLEN AAAAfKAACAAAAEqAAC AAAAfKAACAAAAEqAAC WARD AAAAfKAACAAAAEqAAD AAAAfKAACAAAAEqAAD JONES43.CONVERT(c,dset,sset)将源字符串sset从一个语言字符集转换到另一个目的dset字符集SQL> select convert(’strutz’,’we8hp’,’f7dec’) "conversion" from dual; conver------strutz44.HEXTORAW将一个十六进制构成的字符串转换为二进制45.RAWTOHEXT将一个二进制构成的字符串转换为十六进制46.ROWIDTOCHAR将ROWID数据类型转换为字符类型47.TO_CHAR(date,’format’)SQL> select to_char(sysdate,’yyyy/mm/dd hh24:mi:ss’) from dual;TO_CHAR(SYSDATE,’YY-------------------2004/05/09 21:14:41将字符串转化为ORACLE中的一个日期49.TO_MULTI_BYTE将字符串中的单字节字符转化为多字节字符SQL> select to_multi_byte(’高’) from dual;TO--高50.TO_NUMBER将给出的字符转换为数字SQL> select to_number(’1999’) year from dual;YEAR---------199951.BFILENAME(dir,file)指定一个外部二进制文件SQL>insert into file_tb1 values(bfilename(’lob_dir1’,’image1.gif’));52.CONVERT(’x’,’desc’,’source’)将x字段或变量的源source转换为descSQL> select sid,serial#,username,decode(command,2 0,’none’,3 2,’insert’,4 3,5 ’select’,6 6,’update’,7 7,’delete’,8 8,’drop’,9 ’other’) cmd from v$session where type!=’background’;SID SERIAL# USERNAME CMD--------- --------- ------------------------------ ------1 1 none2 1 none3 1 none4 1 none5 1 none6 1 none7 1275 none8 1275 none9 20 GAO select10 40 GAO none53.DUMP(s,fmt,start,length)DUMP函数以fmt指定的内部数字格式返回一个VARCHAR2类型的值SQL> col global_name for a30SQL> col dump_string for a50SQL> set lin 200SQL> select global_name,dump(global_name,1017,8,5) dump_string from global_name; GLOBAL_NAME DUMP_STRING------------------------------ --------------------------------------------------ORACLE.WORLD Typ=1 Len=12 CharacterSet=ZHS16GBK: W,O,R,L,D54.EMPTY_BLOB()和EMPTY_CLOB()这两个函数都是用来对大数据类型字段进行初始化操作的函数55.GREATEST返回一组表达式中的最大值,即比较字符的编码大小.SQL> select greatest(’AA’,’AB’,’AC’) from dual;GR--ACSQL> select greatest(’啊’,’安’,’天’) from dual;GR--天56.LEAST返回一组表达式中的最小值SQL> select least(’啊’,’安’,’天’) from dual;LE--啊57.UID返回标识当前用户的唯一整数SQL> show userUSER 为"GAO"SQL> select username,user_id from dba_users where user_id=uid;USERNAME USER_ID------------------------------ ---------GAO 25ER返回当前用户的名字SQL> select user from dual;USER------------------------------GAOEREVN返回当前用户环境的信息,opt可以是:ENTRYID,SESSIONID,TERMINAL,ISDBA,LABLE,LANGUAGE,CLIENT_INFO,LANG,VSIZE ISDBA 查看当前用户是否是DBA如果是则返回trueSQL> select userenv(’isdba’) from dual;USEREN------FALSESQL> select userenv(’isdba’) from dual; USEREN------TRUESESSION返回会话标志SQL> select userenv(’sessionid’) from dual; USERENV(’SESSIONID’)--------------------152ENTRYID返回会话人口标志SQL> select userenv(’entryid’) from dual; USERENV(’ENTRYID’)------------------INSTANCE返回当前INSTANCE的标志SQL> select userenv(’instance’) from dual; USERENV(’INSTANCE’)-------------------1LANGUAGE返回当前环境变量SQL> select userenv(’language’) from dual; USERENV(’LANGUAGE’)---------------------------------------------------- SIMPLIFIED CHINESE_CHINA.ZHS16GBK LANG返回当前环境的语言的缩写SQL> select userenv(’lang’) from dual; USERENV(’LANG’)----------------------------------------------------ZHSTERMINAL返回用户的终端或机器的标志SQL> select userenv(’terminal’) from dual; USERENV(’TERMINA----------------GAOVSIZE(X)返回X的大小(字节)数SQL> select vsize(user),user from dual; VSIZE(USER) USER----------- ------------------------------6 SYSTEM60.AVG(DISTINCT|ALL)all表示对所有的值求平均值,distinct只对不同的值求平均值SQLWKS> create table table3(xm varchar(8),sal number(7,2));语句已处理。
oralce函数Oracle是一种关系数据库管理系统,它使用了一种名为Oracle数据库的数据库管理系统。
Oracle是一种强大的工具,提供了许多内置函数,可以用于在数据库中进行各种操作。
以下是一些常用的Oracle函数。
1.聚合函数-AVG:计算指定列的平均值。
-COUNT:计算指定列中非空数据的数量。
-SUM:计算指定列的总和。
-MAX:找到指定列的最大值。
-MIN:找到指定列的最小值。
2.字符串函数-CONCAT:将两个字符串连接成一个字符串。
-LOWER:将字符串转换为小写。
-UPPER:将字符串转换为大写。
-LENGTH:计算字符串的长度。
-SUBSTR:返回一个字符串的子字符串。
3.数值函数-ROUND:将一个数值四舍五入到指定的小数位数。
-CEIL:向上取整,返回不小于指定数值的最小整数。
-FLOOR:向下取整,返回不大于指定数值的最大整数。
-ABS:返回指定数值的绝对值。
-MOD:返回两个数值的余数。
4.日期和时间函数-SYSDATE:返回当前日期和时间。
-ADD_MONTHS:在指定日期上增加指定的月份。
-TRUNC:截断日期或时间到指定的精度。
-MONTHS_BETWEEN:计算两个日期之间的月数差。
-TO_CHAR:将日期转换为指定格式的字符串。
5.条件函数-DECODE:根据条件返回不同的值。
-CASE:根据条件执行不同的操作。
-NVL:如果给定的表达式为NULL,则将其替换为指定的值。
-NULLIF:如果两个表达式的值相等,则返回NULL。
6.分析函数-ROW_NUMBER:为每一行分配一个唯一的数字。
-RANK:为每一行分配一个排名,如果有并列的值,则排名相同。
-DENSE_RANK:为每一行分配一个排名,如果有并列的值,则排名可以重复。
-LEAD:返回指定行后的值。
-LAG:返回指定行前的值。
上述函数只是Oracle提供的一小部分功能,Oracle还提供了许多其他有用的函数。
Oracle中数值的计算
在Oracle数据库中,数值的计算是数据库操作中的一个重要方面。
Oracle提供了丰富的数值计算函数和操作符,可以进行各种数学运算和
表达式计算。
下面将介绍一些常见的数值计算方法和技巧。
1. 算术运算符:Oracle支持标准的算术运算符,包括加法(+)、
减法(-)、乘法(*)和除法(/)。
这些运算符可以用于对数值进行基
本的四则运算。
例如:
```sql
SELECT 10 + 5 FROM dual; -- 输出结果为 15
SELECT 10 - 5 FROM dual; -- 输出结果为 5
SELECT 10 * 5 FROM dual; -- 输出结果为 50
SELECT 10 / 5 FROM dual; -- 输出结果为 2
```
2. 比较运算符:除了基本的算术运算符,Oracle也支持比较运算符,可以对数值进行比较操作。
常见的比较运算符包括等于(=)、不等于(<>)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=)。
例如:
```sql
SELECT 10 > 5 FROM dual; -- 输出结果为 1(表示为真)
SELECT 10 < 5 FROM dual; -- 输出结果为(表示为假)
SELECT 10 = 5 FROM dual; -- 输出结果为(表示为假)
```
3. 数学函数:Oracle提供了许多数学函数,可以进行更复杂的数值计算。
oracle 数值比较函数Oracle数据库中的数值比较函数可以帮助我们方便地进行数值之间的比较,从而实现对数据的有效处理。
以下将介绍一些常用的Oracle数值比较函数及其应用实例。
1.Oracle数值比较函数概述在Oracle中,数值比较函数主要用于对两个数值进行比较,返回比较结果。
这些函数可以应用于WHERE子句、HAVING子句等,以便在查询过程中对数据进行筛选。
2.常用的Oracle数值比较函数- GREATEST(最大值):比较两个数值,返回较大值。
- LEAST(最小值):比较两个数值,返回较小值。
- ABS(绝对值):计算数值的绝对值。
- ROUND(四舍五入):对数值进行四舍五入处理。
- TRUNC(截断):截断数值的小数部分。
- MOD(取模):计算两个数值的余数。
3.函数实例及应用实例1:查询员工工资高于10000的记录```sqlSELECT * FROM employeeWHERE salary > 10000;```实例2:查询订单金额小于100元的记录```sqlSELECT * FROM orderWHERE amount < 100;```实例3:计算员工年龄的平方根```sqlSELECT sqrt(age) FROM employee;```4.注意事项在使用Oracle数值比较函数时,需要注意以下几点:- 确保比较的数值类型相同,否则可能导致比较结果错误。
- 结合实际情况选择合适的比较函数,以提高查询效率。
- 在使用比较函数时,注意查询性能,避免过度使用导致系统负载过高。
总之,Oracle数据库中的数值比较函数为我们提供了丰富的比较方式,能够满足各种场景的需求。
oracle常用sql函数Oracle是一款非常优秀的数据库管理系统,它提供了很多强大的功能与工具,其中最基本而实用的功能就是SQL函数了。
下面我们将重点介绍一些常用的Oracle SQL函数,帮助读者更好地了解和掌握这些常用的函数,从而更加有效地处理和管理数据。
一、数值型函数1. ABS()函数:用于计算数值的绝对值,比如ABS(-10)会返回10。
2. CEIL()函数:用于向上取整,比如CEIL(3.14)会返回4。
3. FLOOR()函数:用于向下取整,比如FLOOR(3.14)会返回3。
4. MOD()函数:用于求模,比如MOD(12,5)会返回2。
5. ROUND()函数:用于四舍五入,比如ROUND(3.49)会返回3,而ROUND(3.51)会返回4。
二、字符型函数1. CONCAT()函数:用于连接两个字符串,比如CONCAT('hello','world')会返回helloworld。
2. SUBSTR()函数:用于截取字符串,比如SUBSTR('hello',2,3)会返回ell。
3. UPPER()函数:用于将字符串转换成大写,比如UPPER('hello')会返回HELLO。
4. LOWER()函数:用于将字符串转换成小写,比如LOWER('HELLO')会返回hello。
5. TRIM()函数:用于去掉字符串首尾的空格,比如TRIM(' hello ')会返回hello。
三、日期型函数1. CURRENT_DATE函数:用于获取当前日期,比如SELECT CURRENT_DATE FROM DUAL会返回当前日期。
2. SYSDATE函数:用于获取系统当前时间,比如SELECTSYSDATE FROM DUAL会返回系统当前时间。
3. TO_CHAR()函数:用于将日期转换成字符型,比如TO_CHAR(SYSDATE,'yyyy-mm-dd')会返回当前日期的年月日格式。
oracle 函数的用法Oracle 是一个非常强大的数据库管理系统,它提供了丰富的函数库,可以让我们在SQL 语句中使用各种函数来实现数据处理、计算和查询。
本文将给大家介绍一些常用的Oracle 函数及其用法。
一、字符串函数1. UPPER 函数:将字符串转换为大写字母。
SELECT UPPER('hello world!') FROM DUAL;结果为:HELLO WORLD!结果为:hello world!3. INSTR 函数:查找子字符串在字符串中第一次出现的位置。
结果为:54. SUBSTR 函数:截取字符串的一部分。
5. REPLACE 函数:将字符串中的某个子串替换为另一个子串。
二、数值函数1. ROUND 函数:将指定的数字四舍五入到指定的小数位数。
3. ABS 函数:计算数字的绝对值。
4. SIGN 函数:返回数字的符号,如果为正数返回 1,为负数返回 -1,为零返回 0。
SELECT SIGN(-10), SIGN(10), SIGN(0) FROM DUAL;结果为:-1 1 05. POWER 函数:计算一个数的指定次幂。
三、日期函数1. SYSDATE 函数:返回当前系统日期和时间。
SELECT SYSDATE FROM DUAL;2. MONTHS_BETWEEN 函数:计算两个日期之间相差的月数。
SELECT MONTHS_BETWEEN('2022-01-01', '2021-01-01') FROM DUAL;3. ADD_MONTHS 函数:对指定日期增加指定的月数。
4. TRUNC 函数:截取日期到指定的精度,例如截取到月份。
5. TO_CHAR 函数:将日期类型转换为字符串类型。
SELECT TO_CHAR(SYSDATE, 'yyyy-mm-dd hh24:mi:ss') FROM DUAL;结果为:2021-08-01 14:00:00四、聚合函数1. COUNT 函数:计算查询结果集中的行数。
oracle统计个数的函数Oracle是一种强大的数据库管理系统,它提供了许多函数来处理和分析数据。
其中之一就是用于统计个数的函数。
在本文中,我将为您介绍一些常用的Oracle统计个数的函数,并提供相应的示例。
1. COUNT函数COUNT函数用于统计满足指定条件的行数。
它可以作用于单个列、多个列或整个表。
以下是COUNT函数的语法:```SELECT COUNT(column_name) FROM table_name WHERE condition;```其中,column_name是要进行统计的列名,table_name是要进行统计的表名,condition是筛选条件(可选)。
示例1:我们有一个名为"students"的表,其中包含了学生的信息。
现在,我们想统计表中所有学生的个数。
可以使用以下SQL语句:```SELECT COUNT(*) FROM students;```这将返回表中所有学生的个数。
示例2:假设我们只想统计表中英语成绩超过60分的学生个数,可以使用以下SQL语句:```SELECT COUNT(*) FROM students WHERE English > 60;```这将返回英语成绩超过60分的学生个数。
2. SUM函数SUM函数用于计算指定列的数值总和。
它常用于对数值进行求和操作。
以下是SUM函数的语法:```SELECT SUM(column_name) FROM table_name WHERE condition;```其中,column_name是要进行求和的列名,table_name是要进行求和的表名,condition是筛选条件(可选)。
示例3:假设我们有一个名为"sales"的表,其中包含了销售数据。
现在,我们想计算表中所有销售额的总和。
可以使用以下SQL语句:```SELECT SUM(sales_amount) FROM sales;```这将返回表中所有销售额的总和。
oracle的函数类型Oracle是一种流行的关系型数据库管理系统,具有各种功能强大的函数类型,以支持数据处理和分析。
以下是Oracle中常见的函数类型:1. 数值函数:- ABS(x):返回给定数值x的绝对值。
- CEIL(x):返回大于或等于给定数值x的最小整数。
- FLOOR(x):返回小于或等于给定数值x的最大整数。
- ROUND(x):返回给定数值x的四舍五入值。
2. 字符函数:- CONCAT(str1, str2):返回由字符串str1和str2连接而成的字符串。
- LENGTH(str):返回给定字符串str的字符长度。
- UPPER(str):将给定字符串str转换为大写。
- LOWER(str):将给定字符串str转换为小写。
- SUBSTR(str, start, length):返回给定字符串str中从指定位置start开始和指定长度length的子字符串。
3. 日期和时间函数:- SYSDATE:返回当前系统日期和时间。
- TRUNC(date, format):返回给定日期date按照指定格式format截断后的日期。
- ADD_MONTHS(date, n):返回距给定日期date n个月之后的日期。
- MONTHS_BETWEEN(date1, date2):返回给定两个日期之间的月份差。
- EXTRACT(field FROM date):从给定日期中提取指定的字段值,如年份、月份等。
4. 聚合函数:- SUM(column):返回给定列column的和。
- AVG(column):返回给定列column的平均值。
- MIN(column):返回给定列column的最小值。
- MAX(column):返回给定列column的最大值。
- COUNT(column):返回给定列column的非空行数。
5. 条件函数:- NVL(expr1, expr2):如果expr1为NULL,则返回expr2;否则返回expr1。
ORACLE常用函数功能演示文档撰写:孟祥新写在前面:ORACLE内置函数,相当于C语言中的库函数,提供了常规数据库编程中所需的绝大多数基本功能,并且通过函数的组合或嵌套使用,可以发挥其强大的功能。
由于这些内置函数都是由ORACLE公司的编程大家所写,而且其执行代码是内嵌在ORACLE数据库系统中的,因此其执行效率极高。
在数据库编程中能广泛使用ORACLE所提供的内置函数,将大大提高程序代码的执行效率。
“站在高人的肩膀上,将使你变得更高”。
演示之前的环境设置:为了在SQL*PLUS中直观地显示函数返回的结果,我将“头”信息先屏蔽掉。
操作如下:一、单行函数1.数值函数(1)三角函数①SIN、ASIN、SINH(正弦、反正弦、双曲正弦)②COS、ACOS、COSH(余弦、反余弦、双曲余弦)③TAN、ATAN、TANH(正切、反正切,双曲正切)(2)幂、方根及对数运算函数①POWER(m, n)(取m的n次幂)②SQRT(n)(取n的平方根)③EXP(n)(取自然对数底e的n次方根)④LN(n)(取n的自然对数)⑤LOG(m, n)(取以m为底n的对数)以上函数功能演示如下:(3)数值处理函数①ABS(n)(取绝对值)②SIGN(n)(符号函数)③CEIL(n)(取不小于n的最小整数)④FLOOR(n)(取不大于n的最大整数)⑤ROUND(n, [m])(按m精度对n进行4舍5入)⑥TRUNC(n, [m])(按m精度对n进行截取)⑦MOD(m, n)(取m除以n的余数)以上函数功能演示如下:2.字符处理函数(1)对字符串的大小写处理的函数①INITCAP(功能:将字符串中每个单词的首字母,变换为大写。
)②UPPER(功能:将字符串中的所有字母,转换为大写。
)③LOWER(功能:将字符串中的所有字母,转换为小写。
)以上函数功能演示如下:(2)对字符串进行处理的函数①CONCAT(字符串连接函数,也可用|| 替代)功能演示如下:②ASCII(取字符的编码)③CHR(将编码转换为对应的字符)以上函数功能演示如下:④LTRIM(去除左侧空格/指定字符)⑤RTRIM(去除右侧空格/指定字符)⑥TRIM(去除两侧的空格/去除指定字符)以上函数去除空格功能演示如下:以上函数去除指定字符功能演示如下:请注意:在用TRIM去除字符串中指定字符(非空格)时的特殊用法。
oracle数学函数Oracle数据库中提供了很多数学函数(Mathematical Functions),这些函数可以在查询语句中使用,以执行各种数学运算和计算。
1.绝对值函数(ABS)绝对值函数(ABS)用于返回一个给定数字的绝对值。
语法如下:ABS(x)其中x是一个数字表达式。
2.按指定精度向上舍入函数(CEIL)按指定精度向上舍入函数(CEIL)用于将一个数字向上舍入到指定的精度。
语法如下:CEIL(x)其中x是待舍入的数字,返回的结果是向上取整后的值。
3.合并两个数字的最小公共数函数(GREATESTCOMMONDIVISOR,GCD)合并两个数字的最小公共数函数(GCD)用于计算两个数字的最大公约数。
语法如下:GCD(x,y)其中x和y是待计算的数字表达式,返回的结果是两个数字的最大公约数。
4.按指定精度向下舍入函数(FLOOR)按指定精度向下舍入函数(FLOOR)用于将一个数字向下舍入到指定的精度。
语法如下:FLOOR(x)其中x是待舍入的数字,返回的结果是向下取整后的值。
5.指数函数(EXP)指数函数(EXP)用于计算一个数字的指数值。
语法如下:EXP(x)其中x是待计算的数字表达式,返回的结果是指定数字的指数值。
6.对数函数(LOG)对数函数(LOG)用于计算一个数字的对数值。
语法如下:LOG(x)其中x是待计算的数字表达式,返回的结果是指定数字的对数值。
7.幂函数(POWER)幂函数(POWER)用于计算一个数字的指数幂。
语法如下:POWER(x,n)其中x是待计算的数字表达式,n是指数的数量,返回的结果是x的n次幂。
8.四舍五入函数(ROUND)四舍五入函数(ROUND)用于将一个数字四舍五入到指定的小数位数。
语法如下:ROUND(x,d)其中x是待舍入的数字,d是要保留的小数位数,返回的结果是四舍五入后的值。
9.平方根函数(SQRT)平方根函数(SQRT)用于计算一个数字的平方根。
oracle的聚合函数Oracle是业界人员最为喜爱的关系数据库管理系统(RDBMS),提供了许多强大的聚合函数来处理数据。
Oracle的聚合函数大致可以分为两类:数值函数和字符串函数。
本文将重点介绍这两种类型的聚合函数。
一、数值函数:1、AVG()AVG()函数用于计算数据的平均值。
在Oracle数据库中,AVG()函数可以对一个表达式或列计算平均值。
使用AVG()函数时通常需要在SELECT语句中使用GROUP BY子句。
以下语句将计算一个员工的薪资平均值,并按司机部门分组显示该平均值:SELECT department, AVG(salary) FROM employeesWHERE department = '司机'GROUP BY department;2、COUNT()COUNT()函数用于计算行数或某列非空行数。
COUNT()函数也可以接受一个表达式或列作为参数。
以下语句将计算员工人数:SELECT COUNT(*) FROM employees;以下语句将计算“司机”部门员工人数:SELECT COUNT(*) FROM employeesWHERE department = '司机';3、MAX()MAX()函数用于计算列或表达式的最大值。
以下语句将返回最高薪资:SELECT MAX(salary) FROM employees;4、MIN()MIN()函数用于计算列或表达式的最小值。
以下语句将返回最低薪资:SELECT MIN(salary) FROM employees;5、SUM()SUM()函数用于计算数据的总和。
SUM()函数也可以接受一个表达式或列作为参数。
以下语句将计算公司所有员工薪资总和:SELECT SUM(salary) FROM employees;二、字符串函数:1、CONCAT()CONCAT()函数用于组合两个或多个字符串。
oracle数字函数dual是一个"伪表",可以用来测试函数和表达式。
1、Round:四舍五入Round(45.926,2)→45.93Round(45.923,0)保留整数位,结果是46。
Round(45.923,-1)取整数位的第二位。
就是取十位,结果是50。
Round(45.923,-2)取整数位的第三位。
就是取百位,结果为0。
2、Trunc:数字截断Trunc(45.926,2)→45.92语法: TRUNC(x[,y])功能: 计算截尾到y位小数的x值. y缺省为0,结果变为一个整数值.如果y是一个负数,那么就截尾到小数点左边对应的位上.说明:该函数可以指定截取的位数,当不指定截取位时,它只截取小数占左边的数字。
3、Mod:求余语法: MOD(x,y)功能: 返回x除以y的余数.如果y是0,则返回xMod(1600,300)→1004、ABS语法: ABS(x)功能: 得到x的绝对值.SQL> select abs(1) a,abs(0) b,abs(-1) c,abs(-0.1) d from dualA B C D---------- ---------- ---------- ----------1 0 1 .15、CEIL语法: CEIL(x)功能: 计算大于或等于x的最小整数值.SQL> select ceil(0.3) a,ceil(0.5) b,ceil(0.8) c,ceil(0) d from dualA B C D---------- ---------- ---------- ----------1 1 1 06、FLOOR语法: FLOOR(x)功能: 返回小于等于x的最大整数值.SQL> select floor(0.3) a,floor(0.5) b,floor(0.8) c,floor(0) d from dualA B C D---------- ---------- ---------- ------------------0 0 0 07、ACOS语法: ACOS(x)功能: 返回x的反余弦值. x应该从0到1之间的数,结果在0到pi之间,以弧度为单位.SQL> select cos(0.1667) a,acos(0.5) y,cosh(0.5) z from dualA Y Z---------- ---------- -------------------.986137701 1.04719755 1.127625978、ASIN语法: ASIN(x)功能: 计算x的反正弦值. X的范围应该是-1到1之间,返回的结果在-pi/2到pi/2之间,以弧度为单位. SQL> select sin(0.1667) x,asin(0.5) y,sinh(0.5) z from dualX Y Z---------- ---------- ------------------------.165929004 .523598776 .5210953059、ATAN语法: ATAN(x)功能: 计算x的反正切值.返回值在-pi/2到pi/2之间,单位是弧度.SQL> select tan(0.1667) x ,atan(0.5) y,atan2(1,2) z from dualX Y Z---------- ---------- --------------------.168261495 .463647609 .46364760910、ATAN2语法: ATAN2(x,y)功能: 计算x和y的反正切值.结果在负的pi/2到正的pi/2之间,单位是弧度.atan2(x,y)函数表示,返回x/y的反正切等价于atan(x/y)。
oracle数学函数Oracle数学函数是Oracle数据库中提供的一组函数,用于进行数学运算和处理数值数据。
这些函数可以用于计算、转换和处理数值,使得数据处理更加灵活和高效。
本文将介绍几个常用的Oracle数学函数,并详细说明其用法和功能。
1. ROUND函数ROUND函数用于对数值进行四舍五入。
它接受两个参数,第一个参数是要进行四舍五入的数值,第二个参数是要保留的小数位数。
例如,ROUND(3.14159, 2)将返回3.14,表示将3.14159四舍五入到小数点后两位。
2. TRUNC函数TRUNC函数用于截断数值,即将数值的小数部分截断掉。
它接受两个参数,第一个参数是要进行截断的数值,第二个参数是要保留的小数位数。
例如,TRUNC(3.14159, 2)将返回3.14,表示将3.14159截断到小数点后两位。
3. MOD函数MOD函数用于计算两个数的余数。
它接受两个参数,第一个参数是被除数,第二个参数是除数。
例如,MOD(10, 3)将返回1,表示10除以3的余数为1。
4. POWER函数POWER函数用于计算一个数的幂。
它接受两个参数,第一个参数是底数,第二个参数是指数。
例如,POWER(2, 3)将返回8,表示计算2的3次幂。
5. SQRT函数SQRT函数用于计算一个数的平方根。
它接受一个参数,即要计算平方根的数值。
例如,SQRT(9)将返回3,表示计算9的平方根。
6. ABS函数ABS函数用于计算一个数的绝对值。
它接受一个参数,即要计算绝对值的数值。
例如,ABS(-5)将返回5,表示计算-5的绝对值。
7. EXP函数EXP函数用于计算以自然对数为底的指数幂。
它接受一个参数,即要计算指数幂的数值。
例如,EXP(1)将返回2.71828,表示计算e 的1次幂。
8. LOG函数LOG函数用于计算一个数的自然对数。
它接受一个参数,即要计算自然对数的数值。
例如,LOG(10)将返回2.30259,表示计算以e 为底的对数。
oracle中ceil函数用法Oracle中的ceil函数是一个常用的数学函数,用于返回大于或等于给定数字的最小整数值。
该函数的用法简单,并且可以应用于各种场合。
以下是有关Oracle中ceil函数的详细信息。
一、语法Oracle中ceil函数的语法如下:CEIL(数值)其中,数值是需要进行计算的数字,可以是实数或整数。
返回值为大于或等于数值的最小整数。
二、示例下面是使用Oracle中ceil函数的示例:SELECT CEIL(3.6) FROM DUAL;--结果为4SELECT CEIL(3.3) FROM DUAL;--结果为4SELECT CEIL(-3.3) FROM DUAL;--结果为-3SELECT CEIL(-3.6) FROM DUAL;--结果为-3可以看出,在每一个例子中,ceil函数都返回了大于或等于给定数字的最小整数值。
三、应用ceil函数在数据库管理和应用编程中有广泛的应用。
以下是一些常见的应用场景:1. 数据处理在处理货币、库存等具有实数部分的数字时,ceil函数可以很方便地对数据进行处理,避免出现小数位的问题。
例如,对于一家零售店,需要将每件商品的价格向上取整到0.5元。
可以使用以下代码:SELECT CEIL(price*2)/2 FROM products;2. 统计分析在统计分析中,ceil函数可以用于对数据进行数据清理、分组聚合等操作。
例如,对于某个考试成绩的数据集,需要按照分数段计算人数分布。
可以使用以下代码:SELECT CEIL(score/10)*10 as "Score段", COUNT(*) as "人数"FROM scores GROUP BY CEIL(score/10)*10;3. 模拟计算ceil函数也可以用于模拟计算。
例如,在计算气候模型中,可能需要对每天的最低气温和最高气温进行随机模拟。
可以使用以下代码:SELECT CEIL(DBMS_RANDOM.VALUE(min_temp,max_temp)) as "气温" FROM weather;四、注意事项1. Oracle中ceil函数只能返回整数值。
oracle中常用的函数Oracle是一种流行的关系型数据库管理系统,它提供了许多强大的函数来处理数据。
以下是Oracle中常用的函数:1. 字符串函数Oracle提供了许多字符串函数来处理文本数据。
其中一些常用的函数包括:- SUBSTR:用于提取字符串的一部分。
- INSTR:用于查找字符串中的子字符串。
- CONCAT:用于连接两个或多个字符串。
- REPLACE:用于替换字符串中的子字符串。
- UPPER和LOWER:用于将字符串转换为大写或小写。
2. 数值函数Oracle还提供了许多数值函数来处理数字数据。
其中一些常用的函数包括:- ROUND:用于将数字四舍五入到指定的小数位数。
- TRUNC:用于截断数字到指定的小数位数。
- MOD:用于计算两个数字的余数。
- ABS:用于计算数字的绝对值。
- SIGN:用于确定数字的符号。
3. 日期函数Oracle还提供了许多日期函数来处理日期和时间数据。
其中一些常用的函数包括:- SYSDATE:用于返回当前日期和时间。
- ADD_MONTHS:用于将指定的月数添加到日期中。
- MONTHS_BETWEEN:用于计算两个日期之间的月数。
- EXTRACT:用于提取日期中的特定部分,如年、月、日、小时、分钟等。
- TO_CHAR和TO_DATE:用于将日期和时间数据转换为字符串或从字符串转换为日期和时间数据。
4. 聚合函数Oracle还提供了许多聚合函数来计算数据的总和、平均值、最大值、最小值等。
其中一些常用的函数包括:- SUM:用于计算数值列的总和。
- AVG:用于计算数值列的平均值。
- MAX和MIN:用于查找数值列中的最大值和最小值。
- COUNT:用于计算行数或非空值的数量。
总结Oracle提供了许多强大的函数来处理数据。
这些函数可以帮助开发人员更轻松地处理和分析数据,从而提高应用程序的性能和可靠性。
熟练掌握这些函数可以使开发人员更加高效地编写SQL查询和存储过程。
Oracle内值函数一、数学运算函数ABS(n)绝对值SELECT abs(-3.12)FROM DUAL; 执行结果:3.12CEIL(n)无条件进位的整数SELECT ceil(3.12)FROM DUAL; 执行结果:4FLOOR(n)无条件舍去的整数SELECT floor(3.6)FROM DUAL; 执行结果:3MOD(m,n)求m/n整数的余数SELECT mod(12,5)FROM DUAL; 执行结果:2POWER(m,n)返回m的n次方SELECT power(2,3)FROM DUAL; 执行结果:8ROUND(m[,n])m四舍五入,取到小数点第n位[n default=0]SELECT round(3.16,1)FROM DUAL; 执行结果:3.2SQRT(n)返回n开平方根的值SELECT sqrt(9)FROM DUAL; 执行结果:3dbms_random.value(low,high)产生low—high之间的随机浮点数,重复的几率很小。
如果要产生整数,需要配合取整函数例如:select trunc(dbms_random.value(5,100)) from dual;返回5,100之间的整数dbms_random.random产生随机整数,重复的几率很小。
例如:下列语句能够对表xhy的结果集进行随机排序。
Select dbms_random.random,b.* from xhy b order by 1Select b.* from xhy b order by dbms_random.randomACOS(n)逆三角余弦值SELECT ACOS(0.5)FROM DUAL; 执行结果:1.04719756ATAN(n)逆三角正切值(径,p/2 ~ -p/2)SELECT A TAN(0.5)FROM DUAL; 执行结果:0.46364761ATAN2(m,n)逆三角正切值(径,p ~ -p)ATAN2(0.5,0.3)=1.03037682652COS(n)返回n的余弦值SELECT cos(30*3.141592653589/180)FROM DUAL; 执行结果:0.866 COSH(n)返回n的双曲线余弦值SELECT cosh(0.5)FROM DUAL;EXP(n)返回自然对数e的n次方值EXP(5)=148.413159103LN(n)自然对数SELECT ln(2)FROM DUAL; 执行结果:0.69315LOG(m,n)m进位的n对数SELECT log(10,2)FROM DUAL; 执行结果:0.30103SIGN(n)信号的返回,n<0则-1,n=0 则0,n>0 则1SELECT sign(0.5)FROM DUAL; 执行结果:1SIN(n)返回n的正弦值SELECT sin(30*3.141592653589/180)FROM DUAL; 执行结果:0.5 SINH(n)返回n的双曲线的正弦值SELECT sinh(2)FROM DUAL; 执行结果:3.6268604TAN(n)返回n的正切值SELECT tan(45*3.141592653589/180)FROM DUAL; 执行结果:1 TANH 返回n的双曲线的正切值SELECT tanh(2)FROM DUAL; 执行结果:0.96402758TRUNC (m[,n])将m截断到n位[n default=0],n=-1-1 表示十位,截断个位为0 SELECT trunc(15.79,1)FROM DUAL; 执行结果:15.7GREATEST 返回一组表达式中的最大值,即比较字符的编码大小.select greatest(’AA’,’AB’,’AC’) from dual;返回ACselect greatest(’啊’,’安’,’天’) from dual; 返回天select greatest(1,9,5) from dual 返回 9;LEAST 返回一组表达式中的最小值select least(’啊’,’安’,’天’) from dual; 返回啊select least(1,9,-7,5) from dual 返回 -7;Trunc(x,n)返回x取n位的数值(不进行任何舍入)例如:trunc(15.79,1) 返回:15.7Round(x,n)返回x取n位的数值,并进行四舍五入。
Oracle常见数值函数
----***特别说明***: x 可以是纯的数值,也可以是数值型表达式/*
ABS(x)返回x绝对值
eg.
*/
selectabs(100),abs(-100) from dual;
/*
sign(x)判断x的正负,正数返回1,负数返回-1,0返回0;
eg.
*/
selectsign(100),sign(-100),sign(0) from dual;
/*
round(x[,n])对x进行四舍五入,保留n位小数,其中n采用其整数部分;
没有n时默认四舍五入到整数位,n为负数时,四舍五入保留小数点左边n位(补零),
eg.
*/
selectround(5555.6666, 2.1), round(5555.6666, -2.6), round(5555.6666) from dual;
/*
trunc(x)对x进行直接截取,保留n位小数,其中n采用其整数部分;
没有n时默认截取到整数位,n为负数时,截取保留小数点左边n位(补零),
eg.
*/
selecttrunc(5555.66666,2.1), trunc(5555.66666,-2.6), trunc(5555.033333) from dual;
/*
ceil(x)对x进行向上取整,返回不小于x的最小整数(可以是整数x本身)。
eg.
*/
selectceil(3.1), ceil(2.8+1.3), ceil(0) from dual;
/*
floor(x)对x进行向下取整,返回不大于x的最大整数(可以是整数x本身)。
eg.
*/
selectfloor(3.1), floor(2.8+1.3), floor(0) from dual;
/*
mod(x,y)求x除以y的余数,x,y为数字型表达式。
eg.
*/
selectmod(23,8),mod(24,8) from dual;
/*
sqrt(x)求x的平方根,返回正根。
eg.
*/
selectsqrt(64),sqrt(10) from dual;
/*
power(x,y)求x的y次幂,x,y为数字型表达式。
eg.
*/
selectpower(2.5,2),power(1.5,0),power(20,-1) from dual;
/*
log(x,y)返回以x为底的y的对数, x,y数字型表达式,x,y都必须大于0 eg.
*/
selectpower(4,2),log(16,2),1/log(16,4) from dual;
/*
exp(y)返回e的y次幂(e为数学常量),y可以为数字型表达式
eg.
*/
selectexp(3),exp(0),exp(-3) from dual;
/*
ln(y)返回以e为底的y的对数(e为数学常量),y数字型表达式 (条件y>0)
eg.
*/
selectexp(3),exp(-3),ln(20.0855369),ln(0.049787068) from dual;
----***特别说明***: x 为弧度值,不是角度。
/*
SIN(x)返回一个数字的正弦值
eg.
*/
selectsin(1.57079) from dual;
/*
SIGH(x)返回双曲正弦的值
eg.
*/selectsin(20),sinh(20) from dual;
/*
COS(x)返回一个给定数字的余弦
eg.
*/
selectcos(-3.1415927) from dual;
/*
COSH(x)返回一个数字反余弦值
eg.
*/
selectcosh(20) from dual;
/*
TAN返回数字的正切值
eg.
*/
selecttan(20),tan(10) from dual;
/*
TANH返回数字n的双曲正切值
eg.
*/
selecttanh(20),tan(20) from dual;
/*
ASIN(x)给出反正弦的值
eg.
*/
selectasin(0.5) from dual;
/*
ACOS(x)给出反余弦的值
eg.
*/
selectacos(-1) from dual;
/*
ATAN(x)返回一个数字的反正切值eg.
*/
selectatan(1) from dual;。