RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
oracle如何查函数 oracle查看函数语句

Oracle函数的使用

接收字符返回字符或数值时可以使用dual伪表

在珠晖等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、网站制作 网站设计制作定制制作,公司网站建设,企业网站建设,品牌网站制作,全网整合营销推广,外贸网站制作,珠晖网站建设费用合理。

1、把小写字符转换成大写

select supper(“smi”) form dual

2、把大写转换成小写

lower(“SMI”)

3、首字母大写

initcap(“smi”)

4、字符串的连接可以使用concat,也可以使用    建议使用

concat(“hello”“world”) 结果为helloworld

5、字符串的截取,使用substr,第一个参数为字符串,第二个参数是索引,第三个参数结束索引(开始索引使用0和1效果一样)

substr(hello,0,3) 结果为hel

6、获取字符串长度

length(“hello”)

7、字符串替换,第二个参数为被替换的字符串,第三个是替换的字符串

replace(“hello”,“l”,“x”) 结果为hexxo

1、四舍五入函数ROUND()

默认取整,可以指定保留位数

round(12.523)  结果为13

round(12.537,2) 结果为12.54

2、取整TRUNC

默认全部去掉小数,可以指定位数

trunc(12.789) 结果为12

3、取余数MOD

mod(10,3) 结果为1

oracle中提供了很多和日期相关的函数,包括日期的加减

日期 - 数字 =日期

日期 - 日期 = 数字(天)

1、如:查询员工进入公司的走数

(sysdate - 入职日期)/7

注:当前日期查询select sysdate form dual

2、查询所有员工进入公司的月数

获取两个时间段的月数使用months_between(sysdate,入职日期)

3、获取几个月后的日期:add_months()

如:获取员工三个月后的日期

add_months(sysdate,3)

4、如求出下星期一是什么时候

指定给出下次某日期数next_date()

next_date(sysdate,“星期一”)

5、求日期的最后一天last_day()

求出本月的最后一天

last_day(sysdate)

1、to_char字符串转换函数

如:将所有员工的入职日期的年、月分开

注:在划分时需要通配符

年:yyyy  月:mm  日:dd

时:HH 分:mi  秒:ss

定义时间格式

to_char(sysdate,“yyyy-mm-dd HH24:mi:ss”)

在10以下的月数前面会默认加上前导零,去除加上fm

to_char(sysdate,“fmyyyy-mm-dd HH24:mi:ss”)

to_char还可以给数字做格式化

如将员工的工资按三位“,”分隔

to_char(工资,“99,999”) 9代表数字

如果想在钱上加上国家符号

美元使用

中文使用l

to_char(工资,“99,999”)

to_char(工资,“l99,999”)

2、to_number数值转换函数,将字符串转换成数值

to_number(“10”) +to_number(“10”)

3、to_date日期转换函数,将字符串数据转换成日期类型

to_date(“1997-05-12”,“YYYY-mm-dd”)  1997/05/12

1、空值处理 nvl

如果在查询的时候存在空值的情况可以使用

nvl(comm,0) 当comm的列值为空时,用0代替

2、decode函数

该函数类似于if ...else if ...else

语法:decode(列名/值,search1,result1,search2,result2,default)

decode(中国,中国,我是中国,美国,我是美国,其他)

如果为中国返回我是中国,为美国返回我是美国,为其他字符则返回其他。

3、case when 与decode差不多

语法 case when city=中国 then 我是中国

          when city=美国 then 我是美国

            else 其他

如何查找oracle中用户自定义函数信息

可以用如下语句查看用户自定义的资源,如函数、存储过程:

SELECT * FROM  USER_PROCEDURES;

查到概况后根据对象名字可以查看其源码:

SELECT * FROM USER_SOURCE WHERE NAME = 'COMPUTERFEE';

如何查看ORACLE中自带的函数代码

在user_objects里面,里面还存储了其他对象,通过object_type区分.

select object_name from user_objects

where object_type='FUNCTION';

这样就能看到函数名称了.

当然,跟别的一样,也有对应的all_objects,dba_objects.

Oracle 怎么查询函数在哪个包里?比如TRUNC这个函数

查看包中函数、过程的SQL语句:

SELECT owner,name,text,line FROM DBA_SOURCE where type = 'PACKAGE' and (TEXT like ' procedure%' or TEXT like ' function%');

结果中,owenr:哪个用户的,name:哪个包,text:函数名及部分参数,line:行位置

如果要看到全部参数,看line,然后+1、+2...就可以看到

查看函数、过程的SQL语句:

SELECT OWNER,NAME,TYPE,TEXT,line FROM DBA_SOURCE WHERE LINE=1 AND TYPE IN ('FUNCTION','PROCEDURE');

如果要看完整的参数定义,按owner,name,type,text定位,一般前几行就是参数定义。

以上语句测试过,应该能满足你的要求。

别忘了给“最佳答案”就行(呵呵)

oracle中查找一个字符串中某个字符的位置是什么函数

查找位置的函数为instr函数。下标以1开始,如果不存在则返回0。

举例如下:

1、创建测试表,

create table test_instr(str varchar2(20));

2、插入测试数据

insert into test_instr values ('abc');

insert into test_instr values ('cdaf');

insert into test_instr values ('bbed');

3、查询表的记录,select t.*, rowid from test_instr t;

4、编写sql,查找字母'a'在表中各记录的位置;

select t.*, instr(str,'a') location from test_instr t,可以发现,最后一条记录,不存在该字符的话,则返回0。

oracle 怎样查看已经存在的函数,过程

工具sqlplus或者plsqldeveloper

方法一:sqlplus

①登录用户后,执行下面语句查看当前用户有哪些存储过程:

select  name from user_source where  type='PROCEDURE';

或者:

select object_name from user_procedures;

或者:

select object_name from user_objects where object_type='PROCEDURE' ;

②找到你所要查询的存储过程名字后,执行下面操作,可以看到存错过程内容:

select  text from user_source where name ='xxxx';--(xxxx代表所要查询的存储过程名字)

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

如果是函数,类似的方法,只需要把PROCEDURE,换成FUNCTION即可

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

方法二:pl/sql developer

打开该工具后,在最左侧可以看到如下截图,选择 My objects

然后选择functions或者Procedures,找到想要查看的对象后,选中,鼠标右键,弹出一个选项页,这里主要的几个做一下介绍:

view:查看,不能编辑

edit:可以编辑

drop:删除该存储过程

test:执行该存储过程


分享标题:oracle如何查函数 oracle查看函数语句
标题来源:http://lswzjz.com/article/hiosjc.html