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 常见函数使用汇总的更多相关文章

  1. Oracle 数据库知识汇总篇

    Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...

  2. Oracle常用函数汇总

    在Oracle OCP考试中,相当一部分知识点涉及到对于Oracle常见函数的考查.尽管Oracle官方文档SQL Language Reference中Functions一章内列举了所有Oracle ...

  3. Oracle横向纵向汇总

    Oracle横向纵向汇总 有一张表test 如下, (NO 学生编号 ,cj 成绩) NO name KM CJ 001 张三 语文 80  001 张三 数学 86  001 张三 英语 75  0 ...

  4. ORACLE| ORACLE基础语法汇总

    创 ORACLE| ORACLE基础语法汇总 2018-07-18 16:47:34 YvesHe 阅读数 9141更多 分类专栏: [数据库]   版权声明:本文为博主原创文章,遵循CC 4.0 B ...

  5. ORACLE常用函数汇总(持续更新中....)

    在使用ORACLE过程中,把一些常用的函数的相关用法,注意事项进行简单的汇总,便于自己查询参考. DBMS_RANDOM包 dbms_random是一个可以生成随机数值或者字符串的程序包.这个包有in ...

  6. Oracle基础知识汇总一

    Oracle基础知识 以下内容为本人的学习笔记,如需要转载,请声明原文链接   https://www.cnblogs.com/lyh1024/p/16720759.html oracle工具: SQ ...

  7. oracle 资源学习汇总

    1:修改密码   http://blog.csdn.net/qh_java/article/details/23202259 2:Oracle数据库.实例.用户.表空间.表之间的关系

  8. Oracle 常见函数

    1.把数字转换为字符串:To_char(数字) 2.Oracle 拼接字符串: || ':' || select  字段1 || ':' || 字段2 from  table  :字段1:字段2 3. ...

  9. Oracle存储过程知识汇总

    基本语法篇: CREATE OR REPLACE PROCEDURE 存储过程名 //CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做ske ...

随机推荐

  1. 多线程之join方法

    join方法的功能就是使异步执行的线程变成同步执行.也就是说,当调用线程实例的start方法后,这个方法会立即返回,如果在调用start方法后后需要使用一个由这个线程计算得到的值,就必须使用join方 ...

  2. httpcomponents-client-4.4.x

    Chapter 1. Fundamentals Prev     Next Chapter 1. Fundamentals 1.1. Request execution The most essent ...

  3. Windows phone 8 学习笔记(5) 图块与通知

    原文:Windows phone 8 学习笔记(5) 图块与通知 基于metro风格的Windows phone 8 应用提到了图块的概念,它就是指启动菜单中的快速启动图标.一般一个应用必须有一个默认 ...

  4. login控件“您的登录尝试不成功。请重试”的解决方法

    原文:login控件"您的登录尝试不成功.请重试"的解决方法 遇到login控件“您的登录尝试不成功.请重试”报错之后,在网上找了很久,也按照如下帖子设置了 application ...

  5. Cocos2d-x 地图步行实现1:图论Dijkstra算法

    下一节<Cocos2d-x 地图行走的实现2:SPFA算法>: http://blog.csdn.net/stevenkylelee/article/details/38440663 本文 ...

  6. erlang集群IP及port管理

    erlang集群是依靠epmd维护的,epmd是erlang集群节点间port映射的守护进程.负责维护集群内的节点连接.提供节点名称到IP地址及port的解析服务. epmd 自己定义port号 ep ...

  7. Android自己的自动化测试Monkeyrunner和用法示例

    眼下android SDK在配有现成的测试工具monkey 和 monkeyrunner两. 也许我们不看一样的兄弟名字.但事实是完全跑了两个完全不同的工具.在测试的不同区域的应用程序.总体,monk ...

  8. HDU1698_Just a Hook(线段树/成段更新)

    解题报告 题意: 原本区间1到n都是1,区间成段改变成一个值,求最后区间1到n的和. 思路: 线段树成段更新,区间去和. #include <iostream> #include < ...

  9. uva 10245 近期点对问题

    分治法的典例 当练手了 奇妙的是.使用inplace_merge按说应该是O(n)的算法.可是用sort nlogn的算法反而更快 先上快排版 #include <cstdio> #inc ...

  10. CentOS 5 安装Oracle10g

    原创作品.离 "深蓝的blog" 博客.欢迎转载.转载时请务必注明下面出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlon ...