`

oracle的内外连接、数字函数、字符串函数、日期函数、转换函数。instr与substr

 
阅读更多

---第一,内链接查询
---1.内链接:是通过主外键关联的。如果不加条件(主外键条件)就是笛卡尔积(两个表的总数进行想成),where之前现在就是一张表
---显示的都是符合条件的,没有主表从表之分
select * from student inner join score on  student.sno=score.sno where sname='张三'

--第二:外连接查询:
--1.左外连接:以left左边表(主表)为基准,整合之后的总条数等于左边表的总数
--左表中(主表)的数据都会显示,右表(子表)中满足on条件的正常显示,不满足条件的用null填充
--(把左边表全部显示,右边表符合条件的显示内容,不符合条件的显示空),on后面是条件
select * from student left join score on student.sno=score.sno
--2.右外连接:以右边表为基准,数据的总条数等于右表的条数
select * from student right join score on student.sno=score.sno
--3.全链接: 就是把两个表合并,对数据不影响(没有基准表)(相当于对左右链接的合并),总行数就是数据多的那个表的数据量
select * from student full join score on student.sno=score.sno


--oracle中的函数
--1.数字函数(函数用select调用),dual是oracle提供的空表,用于测试函数
 select ceil(23.3) from dual;---向上取整
 select floor(-23.3) from dual;---向下取整
select round(23.3) from dual---四舍五入
-----重点是上面这三个函数
select mod(6,2) from dual---取余
select sqrt(4) from dual--开平方
sign
select trunc(23.22,1) from dual--保留几位小数

---2.字符(串)函数
select ascii('a') from dual---获取a的ASCII,65
select concat('乌龟','王八') from dual---连接字符串
select length('hhhhhhh') from dual---取长度,几个字符
select lpad('aaaa',10,'x') from dual---padding填充,长度是十个,当不够十个的时候,就在左边填充x
rpad
select 'a' || ltrim('   assss   ') from dual----去左边空格
rtrim
select 'a' || rtrim(ltrim('   assss   ')) from dual--去全部空格
select replace('乌龟王八','王八','是你') from dual--替换
select substr('乌龟王八',1,2) from dual--截取。1是从哪开始截取。2是截取的长度

---3.日期函数
select sysdate  from dual---stsdate是无参的函数,因此不需要加()。返回系统当前日期
select add_months(sysdate,4)  from dual---给系统日期加上4个月份
select add_months(sysdate,-4)  from dual---给系统日期减上4个月份
select extract(year from sysdate)  from dual---取出年份
select extract(month from sysdate)  from dual---月
select extract(month from sysdate)  from dual---日
---以上的日期函数是最常用的
select last_day(sysdate)  from dual---返回这个月的最后一天
select months_between(sysdate,add_months(sysdate,5))  from dual--返回这两个时间相差的月份,前减去后
select next_day(sysdate,'星期一')  from dual--返回下一个星期一是几号
select trunc(sysdate,'year')from dual---返回这个日期所代表的年份的第一天
select trunc(sysdate,'month')from dual---返回这个日期所代表的月份的第一天

---4,转化函数,
--(1),to_char():将数字或者日期转化成字符串。
--将number转化成字符串,需要两个参数to_char(1111,‘’),后面是格式
--日期也需要格式,第二个参数是格式,,,,HH24:HI:ss
select to_char(1111) from dual
--select to_char(1111,‘格式’) from dual
select to_char(sysdate,'dd-mm-yyyy ') from dual

---(2),to_number()将字符串转化成数字
select to_number('111.11','9G999D99')+10 from dual-- 9G999D99三位整数,两位小数

---(3),to_date()将字符串转化成日期
select to_date('2014-07-14','yyyy-mm-dd')from dual---转化
select extract(year from  to_date('2014-07-14','yyyy-mm-dd'))from dual--转化之后调用日期的函数

select to_char(dbms_random.value)---dbms_random这是包名,value函数  ,这是个number类型的,现在转化成字符串 0000 0000 000 0000
select '1234 ' ||'5678 '||'3455 ' from dual

 

-------------------------------------------------------------------------------------------------------------instr与substr

substr是截取字符串。instr的返回值是int类型,表示该字符的位置

substr(ta.FUNC_CODE_NAME,instr(ta.FUNC_CODE_NAME,'(')+1,7)

select substr('FECV.FE001.2012',1,instrb('FECV.FE001.2012','.',1,2)-1) from dual;

分享到:
评论

相关推荐

    Oracle 基础语句 函数大全(字符串函数

    ORACLE PL/SQL 字符串函数、数学函数、日期函数 --【字符串函数】 --字符串截取substr(字段名,起始点,个数) select Name,substr(Name,2,4),substr(Name,0,3),substr(Name,-2,3),substr(Name,-2,1) from t1; --字符...

    Oracle的substr和instr函数简单用法

    Oracle的substr函数简单用法 substr(字符串,截取开始位置,截取长度) //返回截取的字 substr(‘Hello World’,0,1) //返回结果为 ‘H’ *从字符串第一个字符开始截取长度为1的字符串 substr(‘Hello World’,1,1) ...

    oracle中substr函数详细用法

    oracle中INSTR和SUBSTR和CaseWhen函数详细用法

    oracle中instr函数与substr函数详细说明(附实例)[归类].pdf

    oracle中instr函数与substr函数详细说明(附实例)[归类].pdf

    oracle截取字符(substr)检索字符位置(instr)示例介绍

    oracle 截取字符(substr),检索字符位置(instr) case when then else end语句使用 收藏 常用函数:substr和instr 1.SUBSTR(string,start_position,[length]) 求子字符串,返回字符串 解释:string 元字符串 start_...

    oracle面试题

    INSTR String substring 函数返回字符串中某个指定的子串出现的 开始位置 如果不存在则返回0 REPLACE 原来的字符串 要被替换掉的字符串 要替换成的字符串 SOUNDEX 函数返回一个四位字符码 SOUNDEX 函数可用来查找...

    Oracle中instr和substr存储过程详解

    instr函数用于从指定的位置开始,从大型对象中查找第N个与模式匹配的字符串。 用于查找内部大对象中的字符串的instr函数语法如下: dbms_lob.instr( lob_loc in blob, pattern in raw, offset in integer := 1; nth...

    Oracle中的INSTR,NVL和SUBSTR函数的用法详解

    INSTR(源字符串, 要查找的字符串, 从第几个字符开始, 要找到第几个匹配的序号) 返回找到的位置,如果找不到则返回0. 例如:INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR', 在字符串中查找’...

    Oracle中字符串截取常用方法总结【推荐】

    substr 函数:截取字符串  语法:SUBSTR(string,start, [length]) string:表示源字符串,即要截取的字符串。 start:开始位置,从1开始查找。如果start是负数,则从string字符串末尾开始算起。 length:可选项...

    MYSQL,SQLSERVER,ORACLE常用的函数

    连接两个字符串; SQL> select concat('010-','88888888')||'转23' 高乾竞电话 from dual; 高乾竞电话 ---------------- 010-88888888转23 4.INITCAP 返回字符串并将字符串的第一个字母变为大写; SQL> select ...

    SQL中Charindex和Oracle中对应的函数Instr对比

    sql :charindex(‘字符串’,字段)>0 charindex(‘administrator’,MUserID)>0 oracle:instr(字段,’字符串’,1,1) >0 instr(MUserID,’administrator’,1,1)>0 在项目中用到了Oracle中 Instr 这个函数,顺便仔细的...

    oracle函数大全.doc

    ORACLE函数大全 ________________________________________ 作者:[本站编辑] 来源:[CSDN] 浏览:[ ] SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii('A') A,ascii('a') a,...

    灵活截取字符串

    对于截取字符串,Oracle中有两个函数substr(),instr()截取规则的字符串使用起来较为方便,这里重新封装了一个函数 --调用函数参数说明: --num_char(str1 varchar2,str2 varchar2,indexs number) --str1 原字符串 --...

    oracle 函数大全.txt

    5.INSTR(C1,C2,I,J) 在一个字符串中搜索指定的字符,返回发现指定的字符的位置; 6.LENGTH 返回字符串的长度; 7.LOWER 返回字符串,并将所有的字符小写 ;8.UPPER 返回字符串,并将所有的字符大写 ;9.RPAD和LPAD(粘贴...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数...

    Oracle分析函数基本概念和语法总结及Regexp_***用法

    Oracle分析函数基本概念和语法总结及Regexp_***(regexp_substr,regexp_instr, regexp_like, regexp_replace, regexp_count)用法

    oracle dbms_lob

    oracle dbms_lob

    oracle函数介绍(8) 综述.doc

     虽然我们前面介绍了百十多个函数,可是仍然并非全部,并且即使是我们介绍到的,也不能说所有函数都已经介绍了其全部的特色,比如:对于substr,length,instr(like)等均有扩展形式。比如  substr:以字符为单位...

Global site tag (gtag.js) - Google Analytics