重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、安装oracle后,运行程序,输入用户名等信息登录。
创新互联于2013年创立,先为永定等服务建站,永定等地企业,进行企业商务咨询服务。为永定企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
2、下面演示sysdate的用法,这个是oracle独有的,取当前时间。
3、下面介绍to_char()函数的用法,将时间转化为特定的格式。
4、下面介绍一种将时间转化为汉字形式的时间格式及显示出星期。
5、下面演示to_date函数的使用方法,将字符串转换为标准的时间格式。
可以用如下语句查看用户自定义的资源,如函数、存储过程:
SELECT * FROM USER_PROCEDURES;
查到概况后根据对象名字可以查看其源码:
SELECT * FROM USER_SOURCE WHERE NAME = 'COMPUTERFEE';
PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序 在SQL中Oracle内建了一系列函数 这些函数都可被称为SQL或PL/SQL语句 函数主要分为两大类: 单行函数; 组函数本文将讨论如何利用单行函数以及使用规则 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(x x ) x 和x 都式表达式 当x 为null时返回X 否则返回x 下面我们看看emp数据表它包含了薪水 奖金两项 需要计算总的补偿column name emp_id salary bonuskey type pk nulls/unique nn u nnfk table datatype number number numberlength 不是简单的将薪水和奖金加起来就可以了 如果某一行是null值那么结果就将是null 比如下面的例子:update empset salary=(salary+bonus)* 这个语句中 雇员的工资和奖金都将更新为一个新的值 但是如果没有奖金 即 salary + null 那么就会得出错误的结论 这个时候就要使用nvl函数来排除null值的影响 所以正确的语句是:update empset salary=(salary+nvl(bonus )* 单行字符串函数 单行字符串函数用于操作字符串数据 他们大多数有一个或多个参数 其中绝大多数返回字符串ASCII()c 是一字符串 返回c 第一个字母的ASCII码 他的逆函数是CHR()SELECT ASCII( A ) BIG_A ASCII( z ) BIG_z FROM empBIG_A BIG_z CHR()[NCHAR_CS]i是一个数字 函数返回十进制表示的字符select CHR( ) CHR( ) CHR( ) FROM empCHR CHR CHR A z BCONCAT( )c c 均为字符串 函数将c 连接到c 的后面 如果c 为null 将返回c 如果c 为null 则返回c 如果c c 都为null 则返回null 他和操作符||返回的结果相同select concat( slobo Svoboda ) username from dualusernameslobo SyobodaINITCAP()c 为一字符串 函数将每个单词的第一个字母大写其它字母小写返回 单词由空格 控制字符 标点符号限制 select INITCAP( veni vedi vici ) Ceasar from dualCeasarVeni Vedi ViciINSTR( [ [ ]])c c 均为字符串 i j为整数 函数返回c 在c 中第j次出现的位置 搜索从c 的第i个字符开始 当没有发现需要的字符时返回 如果i为负数 那么搜索将从右到左进行 但是位置的计算还是从左到右 i和j的缺省值为 select INSTR( Mississippi i ) from dualINSTR( MISSISSIPPI I ) select INSTR( Mississippi i ) from dualINSTR( MISSISSIPPI I ) INSTRB( [ i[ j])与INSTR()函数一样 只是他返回的是字节 对于单字节INSTRB()等于INSTR()LENGTH()c 为字符串 返回c 的长度 如果c 为null 那么将返回null值 select LENGTH( Ipso Facto ) ergo from dualergo LENGTHb()与LENGTH()一样 返回字节 lower()返回c的小写字符 经常出现在where子串中select LOWER(colorname) from itemdetail WHERE LOWER(colorname) LIKE %white% COLORNAMEWinterwhiteLPAD( [ ])c c 均为字符串 i为整数 在c 的左侧用c 字符串补足致长度i 可多次重复 如果i小于c 的长度 那么只返回i那么长的c 字符 其他的将被截去 c 的缺省值为单空格 参见RPAD select LPAD(answer ) padded answer unpadded from question;PADDED UNPADDED Yes YesNO NOMaybe maybeLTRIM( )把c 中最左边的字符去掉 使其第一个字符不在c 中 如果没有c 那么c 就不会改变 select LTRIM( Mississippi Mis ) from dualLTRppiRPAD( [ ])在c 的右侧用c 字符串补足致长度i 可多次重复 如果i小于c 的长度 那么只返回i那么长的c 字符 其他的将被截去 c 的缺省值为单空格 其他与LPAD相似RTRIM( )把c 中最右边的字符去掉 使其第后一个字符不在c 中 如果没有c 那么c 就不会改变 REPLACE( [ ])c c c 都是字符串 函数用c 代替出现在c 中的c 后返回 select REPLACE( uptown up down ) from dualREPLACEdowntownSTBSTR( [ ])c 为一字符串 i j为整数 从c 的第i位开始返回长度为j的子字符串 如果j为空 则直到串的尾部 select SUBSTR( Message ) from dualSUBSMessSUBSTRB( [ ])与SUBSTR大致相同 只是I J是以字节计算 SOUNDEX()返回与c 发音相似的词select SOUNDEX( dawes ) Dawes SOUNDEX( daws ) Daws SOUNDEX( dawson ) from dualDawes Daws DawsonD D D TRANSLATE( )将c 中与c 相同的字符以c 代替select TRANSLATE( fumble uf ar ) test from dualTEXTrambleTRIM([[]] from c )将c 串中的第一个 最后一个 或者都删除 select TRIM( space padded ) trim from dual TRIMspace paddedUPPER()返回c 的大写 常出现where子串中select name from dual where UPPER(name) LIKE KI% NAMEKING 单行数字函数 单行数字函数操作数字数据 执行数学和算术运算 所有函数都有数字参数并返回数字值 所有三角函数的操作数和值都是弧度而不是角度 oracle没有提供内建的弧度和角度的转换函数 ABS()返回n的绝对值ACOS()反余玄函数 返回 到 之间的数 n表示弧度select ACOS( ) pi ACOS( ) ZERO FROM dualPI ZERO ASIN()反正玄函数 返回 到 n表示弧度ATAN()反正切函数 返回n的反正切值 n表示弧度 CEIL()返回大于或等于n的最小整数 COS()返回n的余玄值 n为弧度COSH()返回n的双曲余玄值 n 为数字 select COSH( ) FROM dualCOSH( ) EXP()返回e的n次幂 e= FLOOR()返回小于等于N的最大整数 LN()返回N的自然对数 N必须大于 LOG( )返回以n 为底n 的对数MOD()返回n 除以n 的余数 POWER( )返回n 的n 次方ROUND( )返回舍入小数点右边n 位的n 的值 n 的缺省值为 这回将小数点最接近的整数 如果n 为负数就舍入到小数点左边相应的位上 n 必须是整数 select ROUND( ) ROUND( ) FROM dualROUND( ) ROUND( ) SIGN()如果n为负数 返回 如果n为正数 返回 如果n= 返回 SIN()返回n的正玄值 n为弧度 SINH()返回n的双曲正玄值 n为弧度 SQRT()返回n的平方根 n为弧度TAN()返回n的正切值 n为弧度TANH()返回n的双曲正切值 n为弧度TRUNC( )返回截尾到n 位小数的n 的值 n 缺省设置为 当n 为缺省设置时会将n 截尾为整数 如果n 为负值 就截尾在小数点左边相应的位上 单行日期函数 单行日期函数操作DATA数据类型 绝大多数都有DATA数据类型的参数 绝大多数返回的也是DATA数据类型的值 ADD_MONTHS( )返回日期d加上i个月后的结果 i可以使任意 lishixinzhi/Article/program/Oracle/201311/17021
基于ORACLE的应用系统很多性能问题,是由应用系统SQL性能低劣引起的,所以,SQL的性能优化很重要,分析与优化SQL的性能我们一般通过查看该SQL的执行计划,本文就如何看懂执行计划,以及如何通过分析执行计划对SQL进行优化做相应说明
一、什么是执行计划(explain
plan)
执行计划:一条查询语句在ORACLE中的执行过程或访问路径的描述。
二、如何查看执行计划
1: 在PL/SQL下按F5查看执行计划。第三方工具toad等。
很多人以为PL/SQL的执行计划只能看到基数、优化器、耗费等基本信息,其实这个可以在PL/SQL工具里面设置的。可以看到很多其它信息,如下所示
查看包中函数、过程的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定位,一般前几行就是参数定义。
以上语句测试过,应该能满足你的要求。
别忘了给“最佳答案”就行(呵呵)
在user_objects里面,里面还存储了其他对象,通过object_type区分.
select object_name from user_objects
where object_type='FUNCTION';
这样就能看到函数名称了.
当然,跟别的一样,也有对应的all_objects,dba_objects.