--oracle常用函数积累--
--1、字符串长度:LENGTH ,语法: CONCAT(string)
--示例
select LENGTH('AA_BB') from dual;--结果:5
--2、字符串连接:CONCAT,语法: CONCAT(string1,string2)
--示例
select CONCAT('AA','_BB') from dual;--结果:AA_BB
--简单点,用双竖线即可
select 'AA'||'''-'''||'BB' from dual;--结果:AA'-'BB,单引号要用''转义
--3、字符串替换:REPLACE,语法:REPLACE(string,search_str[,replace_str]);
--示例
select REPLACE('AA_BB','BB','CC') from dual;--结果:AA_CC
select REPLACE('AA_BBBB','BB') from dual;--结果:AA_
--4、字符串截取:SUBSTR,语法: SUBSTR(string,start_position,[length]),string 源字符串,start_position开始位置(从0开始), length 可选项,截取的个数
--示例
select SUBSTR('AA_BB',0,2) from dual;--结果:AA
select SUBSTR('AA_BB',0) from dual;--结果:AA_BB
--5、字符串查询:INSTR(string,subString,start_position,count),string:源字符串,subString:要查找的子字符串,start_position:查找的开始位置(从1开始),count:源字符串中第几次出现的子字符串
--示例
select INSTR('AA_BB_BB','A',1,1) from dual;--结果:1
select INSTR('AA_BB_BB','A',1,2) from dual;--结果:2
select INSTR('AA_BB_BB','BB',1,2) from dual;--结果:7
--6、一列结果拼接成一个字符串listagg,语法: listagg(column,str) within group(order by column),column要查找的表字段,str连接字符串
--示例
--3.1、查询table4表的c_id数据
select c_id from table4;
--结果为:
--C_ID
--0BC86FE5-BCF3-45C2-95C1-C8328D5849FD
--39430D20-13BB-4EEB-A300-82F6AC7551CB
--97876BB9-F366-4694-BFD6-71C3ACBD5995
--9C085EE3-399E-4773-8A91-8D745E1713A6
--3.2、使用函数listagg(oracle版本11g或更高)
select listagg(c_id,',') within group(order by c_id) as res
from table4;
--结果为:
--RES
--0BC86FE5-BCF3-45C2-95C1-C8328D5849FD,39430D20-13BB-4EEB-A300-82F6AC7551CB,97876BB9-F366-4694-BFD6-71C3ACBD5995,9C085EE3-399E-4773-8A91-8D745E1713A6
--7、使用to_char、to_date、to_timestamp,时间加减等
--示例
select to_char(sysdate,'yyyy') from dual;--结果:2017
select to_char(sysdate,'mm') from dual;--结果:08
select to_char(sysdate,'dd') from dual;--结果:25
select to_char(sysdate,'yyyy-mm-dd') from dual;--结果:2017-08-25
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;--结果:2017-08-25 17:01:22
select to_date('2017-08-25 17:01:22','yyyy-mm-dd hh24:mi:ss') from dual; --结果:25-8月 -17
select to_timestamp('2017-08-22 09:26:15:821000', 'YYYY-MM-DD HH24:MI:SS:FF6') from dual; --结果:22-8月 -17 09.26.15.821000000 上午
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate - interval '' MINUTE,'yyyy-mm-dd hh24:mi:ss') from dual;--结果:2017-08-25 17:05:41 2017-08-25 16:55:41 减去10分钟
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate + interval '' MINUTE,'yyyy-mm-dd hh24:mi:ss') from dual;--结果:2017-08-25 17:06:44 2017-08-25 17:16:44 加上10分钟
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate - interval '' HOUR,'yyyy-mm-dd hh24:mi:ss') from dual;--减去10小时
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate + interval '' HOUR,'yyyy-mm-dd hh24:mi:ss') from dual;--加上10小时
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate - interval '' MONTH,'yyyy-mm-dd hh24:mi:ss') from dual;--减去10月
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate + interval '' MONTH,'yyyy-mm-dd hh24:mi:ss') from dual;--加上10月
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate - interval '' YEAR,'yyyy-mm-dd hh24:mi:ss') from dual;--减去10年
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate + interval '' YEAR,'yyyy-mm-dd hh24:mi:ss') from dual;--加上10年
select to_char(sysdate-1,'yyyy-mm-dd') from dual;--结果:2017-08-24,减去一天
select to_char(sysdate+1,'yyyy-mm-dd') from dual;--结果:2017-08-26,加去一天
--8、空判断:nvl,语法:nvl(column,str),column被判断字符,如果为null,则替换为str
--示例
select nvl(null,'无') from dual;--结果:无
--9、条件判断:case when then else end ,CASE search_expression WHEN expression1 THEN result1 WHEN expressionN THEN resultN ELSE default_result
--示例
select case when 'a'='a' then '优' when 'a'='b' then '良' else '合格' end
from dual;--结果:优
--10截取clob部分数据

  dbms_lob.substr(column,4000)

    

oracle常用函数积累的更多相关文章

  1. Oracle 常用函数积累

    ①length 函数说明:计算字符串长度的函数 返回结果:数字 使用图解: ②lengthb 函数说明:计算字符串字节长度.在学习过程中,了解到还有一个 lengthb 函数.字节和字符的区别 返回结 ...

  2. Oracle常用函数

    前一段时间学习Oracle 时做的学习笔记,整理了一下,下面是分享的Oracle常用函数的部分笔记,以后还会分享其他部分的笔记,请大家批评指正. 1.Oracle 数据库中的to_date()函数的使 ...

  3. Oracle常用函数:DateDiff() 返回两个日期之间的时间间隔自定义函数

    首先在oracle中没有datediff()函数可以用以下方法在oracle中实现该函数的功能:1.利用日期间的加减运算天:ROUND(TO_NUMBER(END_DATE - START_DATE) ...

  4. oracle常用函数总结(二)

    之前也有写过“oracle常用函数总结(一)”,为了尽量找全常见oracle函数,笔者特意查找了相关资料来作为参考,下边给大家罗列出来,部分和之前有重复的,希望能帮到大家! 列举了31个函数和1个分组 ...

  5. oracle常用函数总结

    Oracle常用函数总结 ---oracle常用函数-----一.数值型常用函数----取整数--select floor(10.1) from dual;--将n四舍五入,保留小数点后m位(默认情况 ...

  6. oracle常用函数整理

    oracle常用函数整理    1.绝对值.取余.判断数值正负函数    绝对值:ABS(n)        示例: SELECT ABS(100),ABS(-100),ABS('100') FROM ...

  7. ORACLE常用函数的使用方法

    ORACLE常用函数的使用方法 1. 字符串函数 (1) length(); 获取字符长度SELECT LENGTH('中国') FROM PLATFORM_METAINFO_TABLES WHERE ...

  8. SQL操作数据——SQL组成,查询基础语法,where,Oracle常用函数等

    SQL组成 DML数据操作语言 DCL数据控制语言 DQL数据查询语言 DDL数据定义语言 查询基础语法 记录筛选 where 子句 记录筛选 where 子句 实例练习 实例练习 Select语句中 ...

  9. oracle常用函数及示例

    学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...

随机推荐

  1. v使用索引的注意事项及常见场景、案例

    索引的原理与作用,各种书籍和网络上的介绍可以说是铺天盖地,基本上主流数据库系统的也都是一致的.选择索引字段的原则,比如外键字段.数据类型较小的字段.经常用于查询或排序的字段.表关联的字段等等,在此不做 ...

  2. CentOS 6.4 linux下编译安装 LNMP环境

    1.nginx编译安装 2.PHP编译安装 3.mysql编译安装 4.NGINX配置模板 5.CentOS 6.4 php-fpm 添加service 添加平滑启动/重启

  3. laravel模块 目录设计

  4. PC端浏览器定位

    第一: PC端浏览器定位(纯前端)浏览器定位 :这里用了两种 ,一种是Html5自带的方法 另一种是引用了百度api  ,百度api 的使用有三种:1 浏览器定位2 ip定位3 SDK辅助定位引用百度 ...

  5. oracle 表之间的连接

    排序 - - 合并连接(Sort Merge Join, SMJ): a) 对于非等值连接,这种连接方式的效率是比较高的. b) 如果在关联的列上都有索引,效果更好. c) 对于将2个较大的row s ...

  6. JavaSE-13 内部类

    学习要点 内部类的定义 内部类的应用 内部类 定义 Java的一个类中包含着另一类. A类和B类是C类的外部类.B类是C类的外部类.A类也称为顶层类. 如何使用内部类 public class MyF ...

  7. Java随机数使用

    JAVA取随机数的三种方式: Math.random() System.currentTimeMillis() random.nextInt() 废话不多说,看代码: /** *取单个随机数 *Mat ...

  8. BZOJ 4823 Luogu P3756 老C的方块 染色+最小割

    题面太长了请各位自行品尝—>老C的方块 分析: 我们要解决掉所有使人弃疗的组合,还要保证花费最小,容易想到最小割(当然你要是想费用流的话,我们就没办法定义流量了) 我们来分析一下那些令人弃疗的组 ...

  9. 笔试算法题(36):寻找一棵二叉树中最远节点的距离 & 根据二叉树的前序和后序遍历重建二叉树

    出题:求二叉树中距离最远的两个节点之间的距离,此处的距离定义为节点之间相隔的边数: 分析: 最远距离maxDis可能并不经过树的root节点,而树中的每一个节点都可能成为最远距离经过的子树的根节点:所 ...

  10. 【thinking in java】反射

    前言 反射是框架设计的灵魂,使用的前提条件:必须先得到字节码的Class,Class类用于表示字节码,字节码即是.class文件 概述 JAVA反射机制:在程序运行的过程中,对于任意一个类,都可以知道 ...