文档库 最新最全的文档下载
当前位置:文档库 › oracle常用函数汇总

oracle常用函数汇总

oracle 常用函数汇总 篇一:oracle 常用函数总结 oracle 常用函数总结 常用的 SQL 语句语法(Oracle 版) 一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名 1, 字段名 2, ……) VALUES ( 值 1, 值 2, ……);INSERT INTO 表名(字 段名 1, 字段名 2, ……) SELECT 字段名 1, 字段名 2, …… FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: ’GOOD DAY’ 如果字段值里包含单引号 ’ 需要进行字符串转换, 我们把它替换成两个单引号 ''.字符串 类型的字段值超过定义的长度会出错, 最好在插入前进行长度校验 .日期字段的字段值可以用 当前数据库的系统时间 SYSDATE, 精确到秒 或者用字符串转换成日期型函数 TO_DATE(‘2001-08-01’,’YYYY-MM-DD’)TO_DATE()还有很 多种日期格式, 可以参看 ORACLE DOC. 年-月-日 小时:分钟:秒 的格式 YYYY-MM-DD HH24:MI:SS INSERT 时最大可操作的字符串长度小于等于 4000 个单字节, 如果要插入更长的字符串, 请考虑字段用 CLOB 类型, 方法借用 ORACLE 里自带的 DBMS_LOB 程序包. INSERT 时如果要用到从 1 开始自动增长的序列号, 应该先建立一个序列号 CREATE SEQUENCE 序列号的名称 ( 最好是表名 + 序列号标记 ) INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE; 其中最大的值按字段的长度来定, 如果定义的自动增长的序列号 NUMBER(6) , 最大值为 999999 INSERT 语句插入这个字段值为: 序列号的名称.NEXTVAL 2.DELETE (删除数据表里记录的语句) DELETE FROM 表名 WHERE 条件; 注意: 删除记录并不能释放 ORACLE 里被占用的数据块表空间. 它只把那些被删除的数据 块标成 unused. 如果确实要删除一个大表里的全部记录, 可以用 TRUNCATE 命令, 它可以释放占用的数 据块表空间 TRUNCATE TABLE 表名; 此操作不可回退. 3.UPDATE (修改数据表里记录的语句) 1 / 16

UPDATE 表名 SET 字段名 1=值 1, 字段名 2=值 2, …… WHERE 条件; 如果修改的值 N 没有赋值或定义时, 将把原来的记录内容清为 NULL, 最好在修改前进行 非空校验; 值 N 超过定义的长度会出错, 最好在插入前进行长度校验.. 注意事项: A. 以上 SQL 语句对表都加上了行级锁 , 确认完成后 , 必须加上事物处理结束的命令 COMMIT 才能正式生效 , 否则改变不一定写入数据库里 . 如果想撤回这些操作 , 可以用命令 ROLLBACK 复原. B. 在运行 INSERT, DELETE 和 UPDATE 语句前最好估算一下可能操作的记录范围,应该把 它限定在较小 (一万条记录) 范围内,. 否则 ORACLE 处理这个事物用到很大的回退段.程序响应 慢甚至失去响应. 如果记录数上十万以上这些操作, 可以把这些 SQL 语句分段分次完成,其间加 上 COMMIT 确认事物处理. 二.数据定义 (DDL) 部分 1.CREATE (创建表, 索引, 视图, 同义词, 过程, 函数, 数据库链 接等 ) ORACLE 常用的字段类型有 CHAR 固定长度的字符串 VARCHAR2 可变长度的字符串 NUMBER(M,N) 数字型 M 是位数总长度, N 是小数的长度 DATE 日期类型 创建表时要把较小的 不为空的字段放在前面, 可能为空的字段放在后面 创建表时可以用中文的字段名 , 但最好还 是用英文的字段名 创建表时可以给字段加上默认值 , 例如 DEFAULT SYSDATE 这样每次插入 和修改时 , 不用程序操作这个字段都能得到动作的时间 创建表时可以给字段加上约束条件 例如 不允许重复 UNIQUE, 关键字 PRIMARY KEY 2.ALTER (改变表, 索引, 视图等) 改变表的名 称 ALTER TABLE 表名 1 TO 表名 2; 在表的后面增加一个字段 ALTER TABLE 表名 ADD 字段名 字段名描述; 修改表里字段的定义描述 ALTER TABLE 表名 MODIFY 字段名 字段名描述; 给表 里的字段加上约束条件 ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY (字段名); ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE (字段名); 把表放在或取出数据库的内存 区 ALTER TABLE 表名 CACHE; ALTER TABLE 表名 NOCACHE; 3.DROP (删除表, 索引, 视图, 同 义词 , 过程, 函数, 数据库链接等 ) 删除表和它所有的约束条件 DROP TABLE 表名 CASCADE CONSTRAINTS; 4.TRUNCATE (清空表里的所有记录, 保留表的结构) TRUNCATE 表名;三.查询语 句 (SELECT) 部分 SELECT 字段名 1, 字段名 2, …… FROM 表名 1, [表名 2, ……] WHERE 条件; 字 段名可以带入函数 例如: COUNT(*), MIN(字段名), MAX(字段名), AVG(字段名), DISTINCT(字段名), TO_CHAR(DATE 字段名,'YYYY-MM-DD HH24:MI:SS') NVL(EXPR1, EXPR2)函数 解释: IF EXPR1=NULL RETURN EXPR2 ELSE RETURN EXPR1 DECODE(AA﹐V1﹐R1﹐V2﹐R2....)函数 解释: IF AA=V1 THEN RETURN R1 IF AA=V2 THEN RETURN R2 ..… ELSE RETURN NULL LPAD(char1,n,char2)函数 解释: 字符 char1 按制定的位数 n 显示, 不足的位数用 char2 字符串替换左边的空位字段名之间 2 / 16

可以进行算术运算 例如: (字段名 1*字段名 1)/3 查询语句可以嵌套 例如: SELECT …… FROM (SELECT …… FROM 表名 1, [表名 2, ……] WHERE 条件) WHERE 条件 2;两个查询语句的结果 可以做集合操作 例如: 并集 UNION(去掉重复记录), 并集 UNION ALL(不去掉重复记录), 差集 MINUS, 交集 INTERSECT 分组查询 SELECT 字段名 1, 字段名 2, …… FROM 表名 1, [表名 2, ……] GROUP BY 字段名 1 [HAVING 条件] ; 两个以上表之间的连接查询 SELECT 字段名 1, 字段名 2, …… FROM 表名 1, [表名 2, ……] WHERE 表名 1.字段名 = 表名 2. 字段名 [ AND ……] ; SELECT 字段名 1, 字段名 2, …… FROM 表名 1, [表名 2, ……] WHERE 表名 1.字段名 = 表名 2. 字段名(+) [ AND ……] ; 有(+)号的字段位置自动补空值 查询结果集的排序操作, 默认的排序是升序 ASC, 降序是 DESC SELECT 字段名 1, 字段名 2, …… FROM 表名 1, [表名 2, ……] ORDER BY 字段名 1, 字段名 2 DESC; 字符串模糊比较的方法 INSTR(字段名, ‘字符串’)>0 字段名 LIKE ‘字符串%’ [‘%字符串%’] 每个表都有一个隐含的字段 ROWID, 它标记着记录的唯一性. 四.ORACLE 里常用的数据对象 (SCHEMA) 1.索引 (INDEX) CREATE INDEX 索引名 ON 表名 ( 字段 1, [字段 2, ……] ); ALTER INDEX 索引名 REBUILD; 一个表的索引最好不要超过三个 (特殊的大表除外), 最好用单字段索引, 结合 SQL 语句 的分析执行情况, 也可以建立多字段的组合索引和基于函数的索引 ORACLE8.1.7 字符串可以索引的最大长度为 1578 单字节 ORACLE8.0.6 字符串可以索引的最大长度为 758 单字节 ORACLE DOC 上说字符串最大可以建索引的长度约是:数据块的大小 (db_block_size)*40% 2.视图 (VIEW) CREATE VIEW 视图名 AS SELECT …. FROM …..; ALTER VIEW 视图名 COMPILE; 视图仅是一个 SQL 查询语句, 它可以把表之间复杂的关系简洁化. 3 / 16

3.同义词 (SYNONMY) CREATE SYNONYM 同义词名 FOR 表名; CREATE SYNONYM 同义词名 FOR 表名@数据库链接名; 4.数据库链接 (DATABASE LINK) CREATE DATABASE LINK 数据库链接名 CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘数据库连接字符串’; 数据库连接字符串可以用 NET8 EASY CONFIG 或者直接修改 TNSNAMES.ORA 里定义.数据 库参数 global_name=true 时要求数据库链接名称跟远端数据库名称一样数据库全局名称可以 用以下命令查出 SELECT * FROM GLOBAL_NAME; 查询远端数据库里的表 SELECT …… FROM 表名@数据库链接名; 1. ASCII 返回与指定的字符对应的十进制数; SQL> select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from A A ZERO SPACE --------- --------- --------- --------65 97 48 32 2. CHR 给出整数,返回对应的字符; SQL> select chr(54740) zhao,chr(65) chr65 from dual; ZH C -- 赵 A 3. CONCAT 连接两个字符串; SQL> select concat(010-,88888888)||转 23 高乾竞电话 from dual; 高乾竞电话 ---------------010-******** 转 23 4. INITCAP 返回字符串并将字符串的第一个字母变为大写; SQL> select initcap(smith) upp from dual; UPP ----Smith 5.INSTR(C1,C2,I,J) 在一个字符串中搜索指定的字符,返回发现指定的字符的位置; 4 / 16

C1 被搜索的字符串 C2 希望搜索的字符串 I 搜索的开始位置,默认为 1 J 出现的位置,默认为 1 SQL> select instr(oracle traning,ra,1,2) instring from dual; dual; INSTRING --------9 6.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 7 7.LOWER 返回字符串,并将所有的字符小写 SQL> select lower(AaBbCcDd)AaBbCcDd from dual; AABBCCDD -------aabbccdd 8.UPPER 返回字符串,并将所有的字符大写 SQL> select upper(AaBbCcDd) upper from dual; UPPER -------AABBCCDD 9.RPAD 和 LPAD(粘贴字符) RPAD 在列的右边粘贴字符 LPAD 在列的左边粘贴字符 SQL> select lpad(rpad(gao,10,*),17,*)from dual; LPAD(RPAD(GAO,1 ----------------*******gao******* 不够字符则用*来填满 10.LTRIM 和 RTRIM LTRIM 删除左边出现的字符串 RTRIM 删除右边出现的字符串 SQL> select ltrim(rtrim( gao qian jing , ), ) from 5 / 16

LTRIM(RTRIM( ------------gao qian jing 11.SUBSTR(string,start,count) 取子字符串,从 start 开始,取 count 个 SQL> select substr(130********,3,8) from dual; SUBSTR( dual; 篇二:Oracle+数据库的常用函数列表一览 SQL 中的单行函数 SQL 和 PL/SQL 中自带很多类型的函数,有字符、数字、日期、转换、和混合型等多种函 数用于处理单行数据,因此这些都可被统称为单行函数。这些函数均可用于 SELECT,WHERE、 ORDER BY 等子句中,例如下面的例子中就包含了 TO_CHAR,UPPER,SOUNDEX 等单行函数。 SELECT ename,TO_CHAR(hiredate,'day,DD-Mon-YYYY')FROM empWhere UPPER(ename) Like 'AL%'ORDER BY SOUNDEX(ename) 单行函数也可以在其他语句中使用, 如 update 的 SET 子句, INSERT 的 VALUES 子句, DELET 的 WHERE 子句,认证考试特别注意在 SELECT 语句中使用这些函数,所以我们的注意力也集中 在 SELECT 语句中。 NULL 和单行函数 在如何理解 NULL 上开始是很困难的, 就算是一个很有经验的人依然对此感到困惑。 NULL 值表示一个未知数据或者一个空值,算术操作符的任何一个操作数为 NULL 值,结果均为提个 NULL 值,这个规则也适合很多函数,只有 CONCAT,DECODE,DUMP,NVL,REPLACE 在调用了 NULL 参数时能够返回非 NULL 值。在这些 中 NVL 函数时最重要的,因为他能直接处理 NULL 值,NVL 有两个参数:NVL(x1,x2),x1 和 x2 都 式表达式,当 x1 为 null 时返回 X2,否则返回 x1。 下面我们看看 emp 数据表它包含了薪水、奖金两项,需要计算总的补偿 column name emp_id salary bonuskey type pk nulls/unique nn,u nnfk table datatype number number numberlength 11.2 11.2 不是简单的将薪水和奖金加起来就可以了,如果某一行是 null 值那么结果就将是 null, 比如下面的例子: update empset salary=(salary+bonus)*1.1 这个语句中,雇员的工资和奖金都将更新为一个新的值,但是如果没有奖金,即 salary + null,那么就会得出错误的结论,这个时候就要使用 nvl 函数来排除 null 值的影响。 所以正确的语句是: update empset salary=(salary+nvl(bonus,0)*1.1 单行字符串函数 单行字符串函数用于操作字符串数据,他们大多数有一个或多个参数,其中绝大多数返 回字符串 ASCII() 6 / 16

c1 是一字符串,返回 c1 第一个字母的 ASCII 码,他的逆函数是 CHR() SELECT ASCII('A') BIG_A,ASCII('z') BIG_z FROM empBIG_A BIG_z65 122CHR(<i>)[NCHAR_CS] i 是一个数字,函数返回十进制表示的字符 select CHR(65),CHR(122),CHR(223) FROM empCHR65 CHR122 CHR223A z BCONCAT(,) c1,c2 均为字符串, 函数将 c2 连接到 c1 的后面,如果 c1 为 null,将返回 c2.如果 c2 为 null, 则返回 c1,如果 c1、c2 都为 null,则返回 null。他和操作符||返回的结果相同 select concat('slobo ','Svoboda') username from dualusernameslobo Syoboda INITCAP() c1 为一字符串。函数将每个单词的第一个字母大写其它字母小写返回。单词由空格,控 制字符,标点符号限制。 select INITCAP('veni,vedi,vici') Ceasar from dualCeasarVeni,Vedi,Vici INSTR(,[,<i>[,]]) c1,c2 均为字符串,i,j 为整数。函数返回 c2 在 c1 中第 j 次出现的位置,搜索从 c1 的第 i 个字符开始。当没有发现需要的字符时返回 0,如果 i 为负数,那么搜索将从右到左进行,但是 位置的计算还是从左到右,i 和 j 的缺省值为 1. select INSTR('Mississippi','i',3,3) from dualINSTR('MISSISSIPPI','I',3,3)11select INSTR('Mississippi','i',-2,3) from dualINSTR('MISSISSIPPI','I',3,3)2 INSTRB(,[,i[,j]) 与 INSTR()函数一样,只是他返回的是字节,对于单字节 INSTRB()等于 INSTR() LENGTH() c1 为字符串, 返回 c1 的长度, 如果 c1 为 null, 那么将返回 null 值。 select LENGTH('Ipso Facto') ergo from dualergo10 LENGTHb() 与 LENGTH()一样,返回字节。 lower() 返回 c 的小写字符,经常出现在 where 子串中 select LOWER(colorname) from itemdetail '%white%'COLORNAMEWinterwhite WHERE LOWER(colorname) LIKE
LPAD(,<i>[,]) c1,c2 均为字符串,i 为整数。在 c1 的左侧用 c2 字符串补足致长度 i,可多次重复,如果 i 小于 c1 的长度,那么只返回 i 那么长的 c1 字符,其他的将被截去。c2 的缺省值为单空格,参 见 RPAD。 select LPAD(answer,7,'') padded,answer unpadded from question;PADDED UNPADDED Yes YesNO NOMaybe maybe LTRIM(,) 把 c1 中最左边的字符去掉,使其第一个字符不在 c2 中,如果没有 c2,那么 c1 就不会改 7 / 16

变。 select LTRIM('Mississippi','Mis') from dualLTRppi RPAD(,<i>[,]) 在 c1 的右侧用 c2 字符串补足致长度 i,可多次重复,如果 i 小于 c1 的长度,那么只返回 i 那么长的 c1 字符,其他的将被截去。c2 的缺省值为单空格,其他与 LPAD 相似 RTRIM(,) 把 c1 中最右边的字符去掉,使其第后一个字符不在 c2 中,如果没有 c2,那么 c1 就不会 改变。 REPLACE(,[,]) c1,c2,c3 都是字符串,函数用 c3 代替出现在 c1 中的 c2 后返回。 select REPLACE('uptown','up','down') from dualREPLACEdowntownSTBSTR(,<i>[,]) c1 为一字符串,i,j 为整数,从 c1 的第 i 位开始返回长度为 j 的子字符串,如果 j 为空, 则直到串的尾部。 select SUBSTR('Message',1,4) from dualSUBSMess SUBSTRB(,<i>[,]) 与 SUBSTR 大致相同,只是 I,J 是以字节计算。 SOUNDEX() 返回与 c1 发音相似的词 select SOUNDEX('dawes') Dawes SOUNDEX('daws') Daws, SOUNDEX('dawson') from dualDawes Daws DawsonD200 D200 D250 TRANSLATE(,,) 将 c1 中与 c2 相同的字符以 c3 代替 select TRANSLATE('fumble','uf','ar') test from dualTEXTrambleTRIM([[]] from c3) 将 c3 串中的第一个,最后一个,或者都删除。 select TRIM(' space padded ') trim from dual TRIMspace paddedUPPER() 返回 c1 的大写,常出现 where 子串中 select name from dual where UPPER(name) LIKE 'KI%'NAMEKING 单行数字函数 单行数字函数操作数字数据,执行数学和算术运算。所有函数都有数字参数并返回数字 值。所有三角函数的操作数和值都是弧度而不是角度,oracle 没有提供内建的弧度和角度的转 换函数。 ABS() 返回 n 的绝对值 ACOS() 反余玄函数,返回-1 到 1 之间的数。n 表示弧度 select ACOS(-1) pi,ACOS(1) ZERO FROM dualPI ZERO3.14159265 0ASIN() 反正玄函数,返回-1 到 1,n 表示弧度 ATAN() 反正切函数,返回 n 的反正切值,n 表示弧度。 8 / 16

CEIL() 返回大于或等于 n 的最小整数。 COS() 返回 n 的余玄值,n 为弧度 COSH() 返回 n 的双曲余玄值,n 为数字。 select COSH() FROM dualCOSH(1.4)2.15089847 EXP() 返回 e 的 n 次幂,e=2.71828183. FLOOR() 返回小于等于 N 的最大整数。 LN() 返回 N 的自然对数,N 必须大于 0 LOG(,) 返回以 n1 为底 n2 的对数 MOD() 篇三:Oracle-实用函数大全 Oracle 实用函数大全 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 32 2.CHR 给出整数,返回对应的字符; SQL> select chr(54740) zhao,chr(65) chr65 from dual;ZH C -- 赵 A 3.CONCAT 连接两个字符串; SQL> select concat(’010-’,’88888888’)||’转 23’ 电话 from dual; 电话 ---------------010-******** 转 23 4.INITCAP 返回字符串并将字符串的第一个字母变为大写; SQL> select initcap(’smith’) upp from dual; UPP ----Smith 5.INSTR(C1,C2,I,J) 在一个字符串中搜索指定的字符 , 返回发现指定的字符的位置 ;C1 被搜 索的字符串 9 / 16

C2 希望搜索的字符串 I 搜索的开始位置,默认为 1 J 出现的位置,默认为 1 SQL> select instr(’oracle traning’,’ra’,1,2) instring from dual; INSTRING --------9 6.LENGTH (LENGTHB)返回字符串的长度; Length 是以字符计算长度的,儿 lengthb 则是以字节来计算字符串的长度,用这两个函 数可以用以判断是否有中文。 SQL> select length('我爱你') jieguo from dual; jieguo -----3SQL>select lengthb('我爱你') jieguo from dual; Jieguo ---------6 7.LOWER 返回字符串,并将所有的字符小写 SQL> select lower(’AaBbCcDd’)AaBbCcDd from dual; AABBCCDD -------aabbccdd 8.UPPER 返回字符串,并将所有的字符大写 SQL> select upper(’AaBbCcDd’) upper from dual; UPPER -------AABBCCDD 9.RPAD 和 LPAD(粘贴字符) RPAD 在列的右边粘贴字符 LPAD 在列的左边粘贴字符 SQL> select lpad(rpad(’gao’,10,’*’),17,’*’) jieguo from dual; jieguo ----------------*******gao******* Rpad 总用要占 10 个字节,不够则在右边用*补齐,lpad 中占 17 个字节,不够则在左边 用字符*来补齐 10. TRIM LTRIM 删除左边出现的字符串 RTRIM 删除右边出现的字符串 TRIM 标准语法 TRIM([ { { LEADING | TRAILING | BOTH } [ trim_character ] 10 / 16

| trim_character } FROM ] trim_source ) SQL> select trim (' DWEYE ')jieguofrom dual; jieguo ------------DWEYE 去掉首尾空格 SQL> select trim (trailingfrom ' DWEYE ')jieguofrom dual; Jieguo ---------DWEYE 去掉后面空格 SQL> select trim (leadingfrom ' DWEYE ')jieguofrom dual; Jieguo ---------DWEYE 去掉前面空格 SQL> select trim (both‘x’from 'xxxxxx DWEYExxxxxxx ')jieguofrom dual; Jieguo ---------DWEYE 去掉前后的 x SQL> select rtrim('xyxxDWEYExyyx','xy') jieguofrom dual; ---------xyxxDWEYE “xy”不表示整个“xy”字符串进行匹配,而是发现任意的字符“x”或字符“y”均做删除操作。 其它同上,这里就不一一写出了。 11.SUBSTR(string,start,count) 取子字符串,从 start 开始,取 count 个 SQL> select substr(’130********’,3,8) from dual; SUBSTR(’ -------08888888 12.REPLACE(’string’,’s1’,’s2’) string 希望被替换的字符或变量 s1 被替换的字符串 11 / 16

s2 要替换的字符串 SQL> select replace(’he love you’,’he’,’i’) from dual; REPLACE(’H ---------i love you 13.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’); XM -------weather wether 14.TRIM(’s’ from ’string’) LEADING 剪掉前面的字符 TRAILING 剪掉后面的字符 如果不指定,默认为空格符 15.ABS 返回指定值的绝对值 SQL> select abs(100),abs(-100) from dual; ABS(100) ABS(-100) --------- --------100 100 16.ACOS 给出反余弦的值 SQL> select acos(-1) from dual; ACOS(-1) --------3.1415927 17.ASIN 给出反正弦的值 SQL> select asin(0.5) from dual; ASIN(0.5) --------.52359878 12 / 16

18.ATAN 返回一个数字的反正切值 SQL> select atan(1) from dual; ATAN(1) --------.78539816 19.CEIL 返回大于或等于给出数字的最小整数 SQL> select ceil(3.1415927) from dual; CEIL(3.1415927) --------------4 20.COS 返回一个给定数字的余弦 SQL> select cos(-3.1415927) from dual;COS(-3.1415927) ---------------1 21.COSH 返回一个数字反余弦值 SQL> select cosh(20) from dual; COSH(20) --------242582598 22.EXP 返回一个数字 e 的 n 次方根 SQL> select exp(2),exp(1) from dual;EXP(2) EXP(1) --------- --------7.3890561 2.7182818 23.FLOOR 对给定的数字取整数 SQL> select floor(2345.67) from dual;FLOOR(2345.67) -------------2345 24.LN 返回一个数字的对数值 SQL> select ln(1),ln(2),ln(2.7182818) from dual;LN(1) LN(2) LN(2.7182818) --------- --------- ------------0 .69314718 .99999999 25.LOG(n1,n2) 返回一个以 n1 为底 n2 的对数 SQL> select log(2,1),log(2,4) from dual; LOG(2,1) LOG(2,4) --------- --------02 26.MOD(n1,n2) 返回一个 n1 除以 n2 的余数 SQL> select mod(10,3),mod(3,3),mod(2,3) from dual; 13 / 16

MOD(10,3) MOD(3,3) MOD(2,3) --------- --------- --------102 27.POWER 返回 n1 的 n2 次方根 SQL> select power(2,10),power(3,3) from dual; POWER(2,10) POWER(3,3) ----------- ---------1024 27 28.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 -55 29.SIGN 取数字 n 的符号,大于 0 返回 1,小于 0 返回-1,等于 0 返回 0 SQL> select sign(123),sign(-100),sign(0) from dual;
14 / 16

15 / 16

16 / 16

相关文档