标签归档:oracle技巧

oracle数据库中查询表主键及外键信息的方法分享


摘要:
下文讲述oracle数据库中查询表主键及外键信息的方法分享,如下所示:

select o.obj# as objectId, o.name AS tableName, oc.name AS constraintName,
       decode(c.type#, 1, 'C', 2, 'P', 3, 'U',
              4, 'R', 5, 'V', 6, 'O', 7,'C', '?') as constraintType,
       col.name AS columnName
     
from sys.con$ oc, sys.con$ rc,
     sys.obj$ ro,sys.obj$ o, sys.obj$ oi,
     sys.cdef$ c,
     sys.col$ col, sys.ccol$ cc, sys.attrcol$ ac
where oc.con# = c.con#
  and c.obj# = o.obj#
  and c.rcon# = rc.con#(+)
  and c.enabled = oi.obj#(+)
  and c.robj# = ro.obj#(+)
  and c.type# != 8
  and c.type# != 12       /* don't include log groups */
  and c.con# = cc.con#
  and cc.obj# = col.obj#
  and cc.intcol# = col.intcol#
  and cc.obj# = o.obj#
  and col.obj# = ac.obj#(+)
  and col.intcol# = ac.intcol#(+)
  and o.name = '数据表名称'

oracle instr()函数简介说明


摘要:
下文讲述oracle数据库中 instr函数的用法说明,如下所示:


oracle instr函数功能简介

oracle instr函数功能:
instr函数是一个字符查找函数
oracle instr语法说明:
语法形式1:
instr( string1, string2 ) // instr(源字符串, 目标字符串)
语法形式2:
instr( string1, string2 [, start_position [, nth_appearance ] ] ) // instr(源字符串, 目标字符串, 起始位置, 匹配序号)

string2 的值要在string1中查找,
从start_position给出的数值(即:位置)开始在string1中查找,
检索第nth_appearance(几)次出现string2。

——-参数说明————-
string1,string2:字符串信息
str_position:开始查找位置 –缺省值从开始位置开始查找
nth_appearance:查找第几次信息 —缺省值返回第一次出现目标字符串的位置
——-返回值说明———–
返回一个int数值,代表目标字符串出现的位置


oracle instr函数举例说明

 select instr('maomao365.com','a') from dual; 
 //返回结果:2    默认第一次出现“a”的位置
 select instr('maomao365.com','om') from dual; 
 //返回结果:3    即“om”同时(连续)出现 
 
  select instr('maomao365.com','o',2,2) from dual;  
  //返回结果:6    也就是说:在"maomao365.com"的第2(a)号位置开始,查找第二次出现的“o”的位置
 select instr('maomao365.com','o',4,2) from dual; 
 //返回结果:12    也就是说:在"maomao365.com"的第4(m)号位置开始,查找第二次出现的“0”的位置 
 select instr('maomao365.com','o',-1,1) from dual; 
 //返回结果:12    也就是说:在"maomao365.com"的倒数第1(m)号位置开始,往回查找第一次出现的“o”的位置
 select instr('maomao365.com','o',-2,2) from dual;  
 //返回结果:6    也就是说:在"maomao365.com"的倒数第2(o)号位置开始,往回查找第二次出现的“o”的位置