ORACLE常用的函数 下载本文

内容发布更新时间 : 2024/5/21 13:48:32星期一 下面是文章的全部内容请认真阅读。

ORACLE常用函数

ORACLE常用数值函数 转换函数 字符串函数介绍。

数值函数:

abs(m) m的绝对值

mod(m,n) m被n除后的余数 power(m,n) m的n次方

round(m[,n]) m四舍五入至小数点后n位的值(n缺省为0) trunc(m[,n]) m截断n位小数位的值(n缺省为0)

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

字符函数:

initcap(st) 返回st将每个单词的首字母大写,所有其他字母小写 lower(st) 返回st将每个单词的字母全部小写 upper(st) 返回st将每个单词的字母全部大写

concat(st1,st2) 返回st为st2接st1的末尾(可用操作符\)

lpad(st1,n[,st2]) 返回右对齐的st,st为在st1的左边用st2填充直至长度为n,st2的缺省为空格

rpad(st1,n[,st2]) 返回左对齐的st,st为在st1的右边用st2填充直至长度为n,st2的缺省为空格

ltrim(st[,set]) 返回st,st为从左边删除set中字符直到第一个不是set中的字符。缺省时,指的是空格

rtrim(st[,set]) 返回st,st为从右边删除set中字符直到第一个不是set中的字符。缺省时,指的是空格

replace(st,search_st[,replace_st]) 将每次在st中出现的search_st用replace_st替换,返回一个st。缺省时,删除search_st

substr(st,m[,n]) n=返回st串的子串,从m位置开始,取n个字符长。缺省时,一直返回到st末端

length(st) 数值,返回st中的字符数

instr(st1,st2[,m[,n]]) 数值,返回st1从第m字符开始,st2第n次出现的位置,m及n的缺省值为1 例: 1.

select initcap('THOMAS'),initcap('thomas') from test; initca initca

------ ------ Thomas Thomas 2.

select concat('abc','def') \from test; first ----- abcdef 3.

select 'abc'||' '||'def' \from test; first ----- abc def 4.

select lpad(name,10),rpad(name,5,'*') from test; lpad(name,10) rpad(name,5,'*') ------------ ---------------- mmx mmx** abcdef abcde 5.

去掉地址字段末端的点及单词st和rd

select rtrim(address,'. st rd') from test 6.

select name,replace(name,'a','*') from test; name replace(name,'a','*') ---- --------------------- great gre*t 7.

select substr('archibald bearisol',6,9) a,substr('archibald b from test;

a b ------- ------- bald bear bearisol 8.

select name,instr(name,' ') a,instr(name,' ',1,2) b from name a b ------- -------- --------- li lei 3 0 l i l 2 4

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

转换函数:

bearisol',11) test;

nvl(m,n) 如果m值为null,返回n,否则返回m

to_char(m[,fmt]) m从一个数值转换为指定格式的字符串fmt缺省时,fmt值的宽度正好能容纳所有的有效数字

to_number(st[,fmt]) st从字符型数据转换成按指定格式的数值,缺省时数值格式串的大小正好为整个数 附:

to_char()函数的格式:

--------------------------------- 符号 说明

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

9 每个9代表结果中的一位数字 0 代表要显示的先导0

$ 美元符号打印在数的左边 L 任意的当地货币符号 . 打印十进制的小数点 , 打印代表千分位的逗号 --------------------------------- 例: 1.

select to_number('123.45')+to_number('234.56') form test; to_number('123.45')+to_number('234.56') ----------------------------------------

358.01 2.

select to_char(987654321) from test; to_char(987654321) ------------------ 987654321 3.

select to_char(123,'$9,999,999') a,to_char(54321,'$9,999,999') b,to_char(9874321,'$9,999,999') c from test; a b c ------- ---------- -----------

$123 $54,321 $9,874,321 4.

select to_char(1234.1234,'999,999.999') a,to_char(0.4567,'999,999.999') b,to_char(1.1,'999,999.999') from test; a b c --------- ---------- ------------ 1,234.123 .457 1.100

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

分组函数: