当前位置:Gxlcms > 数据库问题 > Oracle 常见函数使用汇总

Oracle 常见函数使用汇总

时间:2021-07-01 10:21:17 帮助过:4人阅读

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‘, 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   开始位置(从0开始)
       length 可选项,子字符串的个数

技术分享
SELECT SUBSTR(This is a test‘, 0, 2) value from dual;  返回值Th

SELECT SUBSTR(This is a test‘, 1, 2) value from dual;  返回值Hi

SELECT SUBSTR(This is a test‘, -1, 2) value from dual; 返回值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

 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 testfrom dual;           返回值this a test

http://www.cnblogs.com/ningvsban/p/3586223.html


 

Oracle 常见函数使用汇总

标签:

人气教程排行