Oracle 常见函数使用汇总
INSTR用法:INSTR(string,subString,position,ocurrence)
解释:string:源字符串
subString:要查找的子字符串
position:查找的开始位置.若起始位置为0,返回值为0,因为下标是从1 开始的,起始位置为0,则表示不查找。既然不查找,就直接返回0,表示找不到了喽;当起始位置为负数的时候,从右边开始查找。
ocurrence:源字符串中第几次出现的子字符串
返回找到的位置(字符串下标是从0开始,如果查找到),如果找不到则返回0. 默认查找顺序为从左到右。
SELECT INSTR('CORPORATE FLOOR', 'OR', 0, 1) FROM DUAL; -- 返回值为0 SELECT INSTR('CORPORATE FLOOR', 'OR', 2, 1) FROM DUAL; -- 返回值为2 SELECT INSTR('CORPORATE FLOOR', 'OR', 3, 1) FROM DUAL; -- 返回值为5 SELECT INSTR('CORPORATE FLOOR', 'OR', 2, 2) FROM DUAL; --返回值为5 SELECT INSTR('CORPORATE FLOOR', 'OR', -1, 1) FROM DUAL; --返回值为14 SELECT INSTR('CORPORATE FLOOR', 'OR', -5, 1) FROM DUAL; --返回值为5
SUBSTR用法:SUBSTR(string,start_position,[length] ) 求子字符串,返回字符串
解释:string 元字符串
start_position 开始位置(从1开始,如果写0,意义等同于1,即从第一个字符开始。如果是负数,则开始位置则从字符串末端开始从右到左数,但根据length截取字符串时,仍然采取从左至右数length个的字符)
length 可选项,子字符串的个数
SELECT SUBSTR('This is a test', 0, 2) value from dual; --返回值Th
SELECT SUBSTR('This is a test', 1, 2) value from dual; --返回值Th
SELECT SUBSTR('This is a test', -1, 2) value from dual; --返回值t,因为截取时,仍采取从左至右,因为只有一个字符t,就返回一个t SELECT SUBSTR('This is a test', -2, 2) value from dual; --返回值st
NVL用法:NVL(eExpression1, eExpression2)
从两个表达式返回一个非 null 值。如果eExpression1的计算结果为null值,则 NVL( ) 返回eExpression2。如果eExpression1的计算结果不是null值,则返回eExpression1。eExpression1 和eExpression2可以是任意一种数据类型。如果eExpression1与eExpression2 的结果皆为 null值,则NVL( )返回NULL。
SELECT nvl('pos1',null) from dual; --返回值为pos1 SELECT nvl(null,'pos2') from dual; --返回值为pos1 SELECT nvl(null,null) from dual; --返回值为null,即使用 is null进行判断时,会返回true select sysdate from dual
where nvl(null,null) is null;--返回2016/5/27 23:58:54
http://www.cnblogs.com/ningvsban/p/3586218.html
http://www.cnblogs.com/qqzy168/archive/2013/05/28/3103085.html
在Oracle中,不等号有三种:<>,!=,^=
例如:
select * from test where name<>'xn'。返回的结果是name不为xn,且name不空的记录。但是这与我们想要得到的结果有出入,因为我们的目的是得到name为xn的全部记录,当然这也包括name为空的记录,所以这些写SQL语句是有问题的。为了解决这个问题,我们可以采用以下两种方案:
select * from test where instr(concat(name,'xx'),'xn') = 0 ; select * from test where nvl(name,'xx')<>'xn' ;
备注:null只能通过is null或者is not null来判断,其它操作符与null操作都是false。
各数据库中的字符串连接方法
1)MySQL:CONCAT()
2)Oracle:CONCAT(),||
3)SQL Server: +
例如:
SELECT 'this is '+'a test'; 返回值this a test SELECT CONCAT('this is ','a test') from dual; 返回值this a test SELECT 'this is '||'a test' from dual; 返回值this a test
http://www.cnblogs.com/ningvsban/p/3586223.html
Oracle 常见函数使用汇总的更多相关文章
- Oracle 数据库知识汇总篇
Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...
- Oracle常用函数汇总
在Oracle OCP考试中,相当一部分知识点涉及到对于Oracle常见函数的考查.尽管Oracle官方文档SQL Language Reference中Functions一章内列举了所有Oracle ...
- Oracle横向纵向汇总
Oracle横向纵向汇总 有一张表test 如下, (NO 学生编号 ,cj 成绩) NO name KM CJ 001 张三 语文 80 001 张三 数学 86 001 张三 英语 75 0 ...
- ORACLE| ORACLE基础语法汇总
创 ORACLE| ORACLE基础语法汇总 2018-07-18 16:47:34 YvesHe 阅读数 9141更多 分类专栏: [数据库] 版权声明:本文为博主原创文章,遵循CC 4.0 B ...
- ORACLE常用函数汇总(持续更新中....)
在使用ORACLE过程中,把一些常用的函数的相关用法,注意事项进行简单的汇总,便于自己查询参考. DBMS_RANDOM包 dbms_random是一个可以生成随机数值或者字符串的程序包.这个包有in ...
- Oracle基础知识汇总一
Oracle基础知识 以下内容为本人的学习笔记,如需要转载,请声明原文链接 https://www.cnblogs.com/lyh1024/p/16720759.html oracle工具: SQ ...
- oracle 资源学习汇总
1:修改密码 http://blog.csdn.net/qh_java/article/details/23202259 2:Oracle数据库.实例.用户.表空间.表之间的关系
- Oracle 常见函数
1.把数字转换为字符串:To_char(数字) 2.Oracle 拼接字符串: || ':' || select 字段1 || ':' || 字段2 from table :字段1:字段2 3. ...
- Oracle存储过程知识汇总
基本语法篇: CREATE OR REPLACE PROCEDURE 存储过程名 //CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做ske ...
随机推荐
- PHP草根论之设计模式-訪问者模式
关于模式本身的概念,请參考网上其他文章 此处仅仅讨论在PHP实际开发过程中的应用 此模式适用范围极为受限,适用情景: 1.适用于项目维护过程,不适用于项目开发过程 2.新增需求,要求为一个/多个类添加 ...
- gwt CellTable中的控件按Tab键切换
默认是 cellTable.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED); 如果要Tab,则设置为DISABLED; 并将其t ...
- 学习 easyui 之二:jQuery 的 ready 函数和 easyloader 的加载回调函数
Ready 事件不一定 ready 使用 easyloader 的时候,必须要注意到脚本的加载时机问题,easyloader 会异步加载模块,所以,你使用的模块不一定已经加载了.比如下面的代码. &l ...
- Nagios监控生产环境redis群集服务战
前言: 曾经做了cacti上展示redis性能报表图.能够看到redis的性能变化趋势图,可是还缺了实时报警通知的功能,如今补上这一环节. 在redis服务瓶颈或者异常时候即使报警通知,方便d ...
- Lucene40SkipListWriter
多级跳跃表是保存在tim文件里的. tip是term index,tim是term dictionary.记忆方法是,p是pointer因此是term index. 这个类会保存多个level的las ...
- 【原创】纯OO:从设计到编码写一个FlappyBird (三)
第二部分请点这里 下面首先来实现Bing接口! 实现Bing接口的类取名SimpleBing. 容易发现,SimpleBing类总的来说要向下,但点击一下又得向上,向上到了一定界限又得向下,但我们又只 ...
- XMPP得知--建立一个管理类
参考其他demo之后,设立一个管理类的发现看起来更舒服,理-- 但在建立与server连接其中.发现 Connect Error: { NSLocalizedDescription = &qu ...
- POJ 2152 Fire
算是我的第一个树形DP 的题: 题目意思:N个城市形成树状结构.现在建立一些消防站在某些城市:每个城市有两个树形cost(在这个城市建立消防站的花费),limit : 我们要是每个城镇都是安全的:就是 ...
- STM32本学习笔记EXTI(外部中断)
参考资料:STM32数据表.网络信息 =========================================切割线===================================== ...
- 乐在其中设计模式(C#) - 桥接模式(Bridge Pattern)
原文:乐在其中设计模式(C#) - 桥接模式(Bridge Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 桥接模式(Bridge Pattern) 作者:webabcd 介绍 ...