--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. 5.4QBXT 模拟赛 (Rank1 机械键盘 蛤蛤)

    NOIP2016提高组模拟赛 ——By wangyurzee7 中文题目名称 纸牌 杯具 辣鸡 英文题目与子目录名 cards cups spicychicken 可执行文件名 cards cups ...

  2. PHP流程控制考察点

    php遍历数组的三种方法及各自的区别 php遍历数组的方式主要有三种: for循环 foreach循环 while.list().each()组合循环 其中: for循环只能遍历索引数组,foreac ...

  3. Codeforces Round #460 (Div. 2)_D. Substring_[dp][拓扑排序]

    题意:一个有向图,每个结点 被赋予一个小写字母,一条路径的value等与这条路径上出现次数最多的字母的数目,求该图的最大value 比赛时,用dfs超时,看官方题解用的dp和拓扑排序,a--z用0-2 ...

  4. JavaScript 原生代码找对象的方法

    1. id :  document.getElementById('id') 2. 标签 : document.getElementsByTagName('标签') //获得的是一个标签数组 3. N ...

  5. JAVA学习笔记16——控制线程

    Java的线程支持提供了一些便捷的工具方法,通过这些便捷的工具方法可以很好地控制线程执行.   join线程 Thread提供了让一个线程等待另一个线程完成的方法——join().当在某个线程执行流中 ...

  6. Android-ViewPagerIndicator框架使用——CirclePageIndicator

    前言:Circle适用于应用新功能的展示页和商品的多张图片的展示功能. 1.定义布局文件:SampleCirclesDefault中添加了一个布局:simple_circles. 布局中定义一个Lin ...

  7. getHiddenProp() 浏览器状态切换改变

    <script> function getHiddenProp() { var prefixes = ['webkit', 'moz', 'ms', 'o']; // if 'hidden ...

  8. [Python3网络爬虫开发实战] 1.5.1-PyMySQL的安装

    在Python 3中,如果想要将数据存储到MySQL中,就需要借助PyMySQL来操作,本节中我们介绍一下它的安装方式. 1. 相关链接 GitHub:https://github.com/PyMyS ...

  9. python3.x Day5 subprocess模块!!

    subprocess模块: # subprocess用来替换多个旧模块和函数 os.system os.spawn* os.popen* popen2.* commands.* subprocess简 ...

  10. TensorFlow2-维度变换

    目录 TensorFlow2-维度变换 Outline(大纲) 图片视图 First Reshape(重塑视图) Second Reshape(恢复视图) Transpose(转置) Expand_d ...