ORACLE数据库操作简便函数用法

1、DISTINCT用法:

SELECT   DISTINCT    A.NAME  ,  A.STUDENT_ID  ,  A.SEX   FROM TABLE STUDENT

这条SQL语句是从学生表里查询了姓名,学号,性别,但是DISTINCT的查询规则是只要有一个不同,就是符合条件的。

例: 源数据                                                                查询结果

ID    NAME    SUTDENT_ID    SEX                               NAME        STUDENT_ID          SEX

1       张明            101                男                                张明                  101                     男

2       张明           102                男                                 张明                  102                     男

3       张明           101                男                                 李倩                  103                     女

4       李倩           103               女

2、WMSYS.WM_CONCAT用法:用来连接字符,中间用 , 隔开。

SELECT   WMSYS.WM_CONCAT(STUDENT_ID)    AS STUDENT_ID   FROM STUDENT GROUP BY (NAME)

查询结果:101,102

3、SUBSTR用法:SUBSTR(字符串,起始位置,截取长度),默认查找顺序从左到右,当起始位置为负数的时候,从右边开始查找。

SELECT  SUBSTR(‘slighthost.com‘ , 0 , 1)   AS   M  FROM   DUAL    //返回结果是s  ,从字符串的第一个位置开始截取长度为1的字符串。

SELECT  SUBSTR(‘slighthost.com‘, 1, 1)   AS   M  FROM   DUAL      //返回结果是s,0和1都表示截取的开始位置为第一个字符。

SELECT  SUBSTR(‘slighthost.com‘ , 14, 1)   AS   M  FROM   DUAL     //返回结果是m,从最后一个字符开始截取。

SELECT  SUBSTR(‘slighthost.com‘ , -1, 1)   AS   M  FROM   DUAL     //返回结果是m,-1表示从最后一个字符开始截取。

SELECT  SUBSTR(‘slighthost.com‘ , -8, 3)   AS   M  FROM   DUAL     //返回结果是hos,-8表示从右到左数的第8个字符开始截取。

4、INSTR用法:INSTR(源字符串,要查找的字符串,从第几个字符开始,要找到第几个匹配的序号),查找顺序与SUBSTR相同。

SELECT  INSTR(‘collaboration floor‘,‘or‘,1,2)   AS   M  FROM   DUAL     // 返回结果是18

SELECT  INSTR(‘collaboration floor‘,‘or‘,-1,2)   AS   M  FROM   DUAL     // 返回结果是7

SELECT SUBSTR(‘collaboration floor‘ ,  INSTR(‘collaboration floor‘,‘or‘,-1,2) , 3 )  FROM DUAL               //返回结果是ora

5、MERGE   INTO用法:

在数据操作时,有时可能需要将一个数据表的某些字段添加或更新到另一张数据表里,这时就有一个高效率的SQL语句。

merge into a

using (select b.* from a, b where a.id = b.id and a.qty <> b.qty ) b

on (a.id = b.id)                 //这条语句是说明两个表拷贝的连接条件

when matched then        //如果存在a.id = b.id,那么就更新a.qty = b.qty

update set a.qty = b.qty

when not matched then   //如果不存在a.id=b.id,那么就将b中的id、qty添加到a表中

insert (a.id,a.qty)

values(b.id,b.qty)

时间: 2024-10-29 19:08:20

ORACLE数据库操作简便函数用法的相关文章

Oracle数据库实用函数

实用函数 DECODE 语法如下: DECODE(value, if1, then1, if2,then2,if3,then3, . . . else )  Value 代表某个表的任何类型的任意列或一个通过计算所得的任何结果.当每个value值被测试,如果value的值为if1,Decode 函数的结果是then1:如果value等于if2,Decode函数结果是then2:等等.事实上,可以给出多个if/then 配对.如果value结果不等于给出的任何配对时,Decode 结果就返回els

Oracle 中 decode 函数用法

Oracle 中 decode 函数用法 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN RETURN(翻译值2) ......ELSIF 条件=值n THEN RETURN(翻译值n)ELSE RETURN(缺省值)END IFdecode(字段或字段的运算,值1,值2,值3) 这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值

分享:Oracle 系统变量函数用法说明

在Oracle数据库中,Oracle系统变量函数是经常会使用到的函数,分享下Oracle系统变量函数的用法. Oracle函数多种多样,系统变量函数就是其中之一,介绍三种最常见的系统变量函数. Oracle系统变量函数: 1)SYSDATE 该函数返回当前的日期和时间.返回的是Oracle服务器的当前日期和时间.select sysdate from dual;insert into purchase values(‘Small Widget','SH',sysdate, 10);insert

Mysql和Oracle数据库concat()函数

一.函数的使用参数不同 Mysql支持多个字符串拼接: CONCAT(str1,str2,-) Oralce只支持两个字符串的拼接,若想拼接多个字符串可以嵌套使用concat CONCAT(str1,str2) 二.参数中有Null的处理方式不同 Mysql:返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. Oralce:如有任何一个参数为NULL ,则返回值拼接后的字符串. 三.其它方面 Mysql:如果所有参数均为非二进制字符串,则结果为非二进制字符串.

oracle数据库 部分函数的用法

select * from tab; //获取当前用户的数据库的所有表名 select sys_guid(),UserName from TESTLIKUI; //获取guid select sys_guid() as "唯一标识",UserName as "用户名", Password as pwd from TESTLIKUI; //as后为别名,sys_guid为数据库临时创建的guid select distinct(password) as pwd fro

Oracle中rownum_函数用法(转载)

解析oracle的rownum 对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,而且rownum不能以任何表的名称作为前缀.举例说明:  例如表:student(学生)表,表结构为: sql 代码 11. ID     char(6) --学号 2.2 name VARCHAR2(10) --姓名 33. create table student (ID char(6), name VA

Oracle 中 decode 函数用法(转)

含义解释: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻译值1) ELSIF 条件=值2 THEN RETURN(翻译值2) ...... ELSIF 条件=值n THEN RETURN(翻译值n) ELSE RETURN(缺省值) END IF decode(字段或字段的运算,值1,值2,值3) 这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3 当然值1,

Oracle数据库的基本用法

用法实例: --选取整个表的列 1. select * from emp; --选取指定列的内容 select job from emp; select ename,sal from emp; --条件判断 select sal from emp where sal=800; --between and 方法 select * from emp where sal between 2000 and 3000; --嵌套的使用 select job from (select * from emp

Oracle数据库中序列用法讲解

序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字).其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值. AD:WOT2015 互联网运维与开发者大会 热销抢票 序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字).其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值. 创建序列需要CREATE S