Oracle中常用系统表和视图以及常用函数

得意时要看淡,失意时要看开。不论得意失意,切莫大意;不论成功失败,切莫止步。志得意满时,需要的是淡然,给自己留一条退路;失意落魄时,需要的是泰然,给自己觅一条出路Oracle中常用系统表和视图以及常用函数,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

常用系统表和视图

具体的字段信息到Oracle官网去查看,上面的内容非常的详细:

NAME TYPE OWNER Description
DBA_OBJECTS VIEW SYS 当前数据库里的所有对象
USER_OBJECTS VIEW SYS 当前用户拥有的所有对象(不显示OWNER字段)
ALL_OBJECTS VIEW SYS 当前用户能够访问的所有对象,注意object_type 和 owner字段
DBA_TABLES VIEW SYS 当前数据库里所有的关系表
ALL_TABLES VIEW SYS 当前用户可访问的关系表
USER_TABLES VIEW SYS 当前用户拥有的关系表
ALL_TAB_COLUMNS VIEW SYS 系统视图,存放表信息(数据库名 表名,表字段名,字段类型,字段长度,默认值等)
DBA_TABLESPACES VIEW SYS 数据库中的所有表空间
USER_TABLESPACES VIEW SYS 当前用户可访问的表空间
DBA_INDEXES VIEW SYS 当前数据库里所有的索引
ALL_INDEXES VIEW SYS 当前用户可访问的索引
USER_INDEXES VIEW SYS 当前用户拥有的索引,不显示OWNER字段
ALL_SOURCE VIEW SYS 记录了该用户可访问的所有数据库对象的脚本信息(DDL)

常用来查数据库问题的表:

NAME Description Use
V$SQLAREA 列出了共享SQL区域的统计信息,同时为每个SQL字符串保存一条记录。它提供关于内存中、已解析并准备执行的SQL语句的统计信息
V$SQL 列出了没有group by操作的共享SQL区域的统计信息,同时为原始的SQL保存所有的child信息,正常情况下,当query执行完成,显示在V$SQL中的统计信息会被更新。但是,如果是一个运行长时间的查询,每5秒钟会更新一次。因此,通过这些信息可以很容易的发现那些正在长时间运行的SQL语句所造成的影响。 可以使用V$SQLAREA中的SQL_ID字段来查询执行的sql信息

重要字段说明

名字 字段 说明
ALL_INDEXES STATUS 表示当前index的状态,VALID 或者 UNUSABLE
ALL_SOURCE TYPE 对象类型,如FUNCTION, JAVA SOURCE, PACKAGE, PACKAGE BODY, PROCEDURE, TRIGGER, TYPE, TYPE BODY等

常用函数

注意,下面例子中的英文单引号显示成了中文单引号,需要修改。这个是csdn显示的问题。

数值型函数

函数名 描述 例子 结果
ABS(n) 返回绝对值 select ABS(-100), ABS(‘100’) from dual; 100 100
MOD(n2,n1) 返回n2除以n1的余数 select MOD(5,2) from dual; 1
ROUND(n,integer) 它将参数n四舍五入成第二个参数指定的形式的十进制数。参数integer要求是整数,如果不是整数,那么它就会被自动截取为整数部分
TRUNC 数值n根据integer的值进行截取,和integer的正负有关;integer要求是整数,如果不是整数,那么它就会被自动截取为整数部分;当integer为正整数,表示n将截取到integer位小数,如果integer为负数,则截取到小数点左第integer位,被截取部分用0代替

字符函数

函数名 描述 例子 结果
|| 并置运算符 select ‘abc’||‘def’ from dual; abcdef
lower 将字符串全转为小写 select lower(‘ABc’) from dual; abc
upper 将字符串全转为大写 select upper(‘ABc’) from dual; ABC
initcap 将字符串的首字母全转为大写 select upper(‘how are you’) from dual; How Are You
concat 连接两个参数并返回 select concat(‘How ‘, ‘are you’) from dual; How are you
substr 对字符串进行截取,语法:substr(char, position, [substring_length]) 其中position为要截取字符串的开始位置,初始为1,如果该值为负,则表示从char的右边算起
length 求字符串的长度 select length(‘ABc’) from dual; 3
instr 在字符串中搜索另一个字符串 select instr(‘ABc’, ‘B’) from dual; 2
rpad 结构rpad(expr1, n[, expr2]),在字符串expr1的右边用字符串expr2填充,直到整个字符串的长度为n为止
lpad 结构lpad(expr1, n[, expr2]),在字符串expr1的左边用字符串expr2填充,直到整个字符串的长度为n为止
trim LTRIM(X[,Y]), 去掉字符串X左边的Y字符串,Y不填时,默认的是字符串X左边去空格
replace 结构REPLACE(X,old,new),查找字符串X中old字符,并利用new字符替换

日期型函数

函数名 描述 例子 结果
sysdate 系统日期和时间 select sysdate from dual;
systimestamp 该函数没有参数,可以得到系统的当前时间,该时间包含时区信息,精确到微秒 select systimestamp from dual;
dbtimezone 返回数据库时区 select dbtimezone from dual;
last_day 返回参数指定日期对应月份的最后一天 select last_day(sysdate) from dual;
next_day 返回参数指定日期的下一天 select next_day(sysdate) from dual;
round ROUND(r[,f])函数:将日期r按f的格式进行四舍五入。如果f不填,则四舍五入到最近的一天
trunc TRUNC(r[,f])函数:将日期r按f的格式进行截取。如果f不填,则截取到当前的日期

控值处理函数

函数名 描述 例子 结果
NVL(expr1, expr2) 如果expr1的值为空值,则返回expr2的值,否则返回expr1的值(expr1和expr2的数据类型必须相同)
NVL2(expr1, expr2, expr2) 上面的增强版;如果expr1的值为空值,则返回expr3的值,否则返回expr2的值(expr1为任何数据类型;而表达式expr2和expr3为除LONG数据类型外的任何数据类型)
NULLIF(expr1, expr2) 比较两个表达式,如果二者相等,则返回NULL,否则返回第一个表达式的值。要求第一个表达式的值不能为NULL

特殊格式日期函数

函数名 描述 例子 结果
Y或YY或YYY 年的最后一位,两位,三位 select to_char(sysdate,‘YYY’) from dual; 如果是2019年,则输出 019
DDD 当年第几天 select to_char(sysdate, ‘DDD’) from dual;
DD 当月第几天 select to_char(sysdate, ‘DD’) from dual;
D 当周第几天 select to_char(sysdate, ‘D’) from dual;

转换函数

函数名 描述 例子 结果
to_char 将数字型或者日期型转为字符型 select to_char(sysdate, ‘YYYYMMDD’) from dual;
to_date 将字符型数据转化为日期型数据 select to_date(‘20180101’, ‘YYYYMMDD’) from dual;
to_number to_number(x[,f]) 可以把字符串x按照格式f进行格式化转换为数值类型结果 select to_number(‘123.74’,‘999.99’) from dual

注意:其中数值的格式f可以参考下表

参数 示例 说明
9 999 指定位置返回数字
. 99.9 指定小数点的位置
99,9 指定位置返回一个逗号
$ $99.9 指定开头返回一个美元符号
EEEE 9.99EEEE 指定科学计数法

逻辑判断函数

函数名 描述 例子 结果
CASE
DECODE 格式: DECODE(col|expression, search1,result1 [search2, result2, …,] [, default]) 与CASE有相同的功能,先判断search1的值是否和col或expression的值相等,如果相等,返回result1的值,否则判断search2,依次类推,如果都不相等,返回默认值default

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/155861.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!