分享
 
 
 

Oracle常用功能集锦

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

数值函数:

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') "first" from test;

first

-----

abcdef

3.

select 'abc'||' '||'def' "first" 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 bearisol',11) b from test;

a b

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

bald bear bearisol

8.

select name,instr(name,' ') a,instr(name,' ',1,2) b from test;

name a b

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

li lei 3 0

l i l 2 4

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

转换函数:

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

分组函数:

avg([distinct/all] n) 列n的平均值

count([all] *) 返回查询范围内的行数包括重复值和空值

count([distinct/all] n) 非空值的行数

max([distinct/all] n) 该列或表达式的最大值

min([distinct/all] n) 该列或表达式的最小值

stdev([distinct/all] n) 该列或表达式的标准偏差,忽略空值

sum([distinct/all] n) 该列或表达式的总和

variance([distinct/all] n) 该列或表达式的方差,忽略空值

日期函数:

add_months(d,n) 日期d加n个月

last_day(d) 包含d的月份的最后一天的日期

month_between(d,e) 日期d与e之间的月份数,e先于d

new_time(d,a,b) a时区的日期和时间d在b时区的日期和时间

next_day(d,day) 比日期d晚,由day指定的周几的日期

sysdate 当前的系统日期和时间

greatest(d1,d2,...dn) 给出的日期列表中最后的日期

least(d1,k2,...dn) 给出的日期列表中最早的日期

to_char(d [,fmt]) 日期d按fmt指定的格式转变成字符串

to_date(st [,fmt]) 字符串st按fmt指定的格式转成日期值,若fmt忽略,st要用缺省格式

round(d [,fmt]) 日期d按fmt指定格式舍入到最近的日期

trunc(d [,fmt]) 日期d按fmt指定格式截断到最近的日期

附:

日期格式:

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

格式代码 说明 举例或可取值的范围

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

DD 该月某一天 1-3

DY 三个大写字母表示的周几 SUN,...SAT

DAY 完整的周几,大写英文 SUNDAY,...SATURDAY

MM 月份 1-12

MON 三个大写字母表示的月份 JAN,...DEC

MONTH 完整 JANUARY,...DECEMBER

RM 月份的罗马数字 I,...XII

YY或YYYY 两位,四位数字年

HH:MI:SS时:分:秒

HH12或HH24以12小时或24小时显示

MI分

SS秒

AM或PM上下午指示符

SP后缀SP要求拼写出任何数值字段

TH后缀TH表示添加的数字是序数4th,1st

FM 前缀对月或日或年值,禁止填充

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

例:

1.

下一个周五的日期

select next_day(sysdate,6) from test;

2.

两个月前的今天的日期

select add_months(sysdate,-2) from test;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有