oracle常用函数

weimengjiacan 2018-01-30 原文

oracle常用函数

 

1、wmsys.wm_concat

将多行数据整合到一行,用逗号分隔。

 

2、dbms_random.random和dbms_random.value(0,100)

1 --随机排列
2 select * from t_znf order by dbms_random.random;
3 --随机整数
4 select trunc(dbms_random.value(1,100)) from dual; 

3、decode

decode(字段,result1,value1,result2,value2,…,default)

相当于if..else if ..else .

select a.*,decode(id,1,'ID=1',2,'ID=2',3,'ID=3','ID默认值') from t_znf a ;

当t_znf.id = 1,返回’ID=1’,为2时,返回’ID=2’,为3时,返回’ID=3’,当ID值为其他时,返回默认值:’ID默认值’。

4、NULLIF

NULLIF(exp1,expr2)函数的作用是如果exp1和exp2相等则返回空(NULL),否则返回第一个值。

select a.*,nullif(id,3) from t_znf a;

5、NVL2

NVL2函数的格式如下:NVL2(expr1,expr2, expr3)
含义是:如果该函数的第一个参数不为空,返回第二个参数的值,如果第一个参数的值为空,则返回第三个参数值。个人感觉有点像java的三目预算   expr1?expr1:expr3

select a.*,nvl2(a.state,a.state,a.t_desc) from t_znf a ;

当t_znf.state 不为空,返回 state,为空时,返回 a.t_desc;

 

6、substr

substr(字段,开始位置,截取长度),注意字符串的开始字段是1。
select a.*, substr(a.t_desc,1,5),a.rowid from t_znf a;

 7、length

计算字段长度

select A.*,LENGTH(A.T_DESC) from T_ZNF A;

8、replace

replace(exp,old_str,new_str):用new_str 替换掉 exp 中所有的 old_str。

select a.*,replace(a.t_desc,'A','BBB') from t_znf a;

用BBB代替t_znf.t_desc中的A

可以用replace 去掉字符串中所有的空格

select replace('  hello world  ',' ','') from dual;

9、TRIM、RTRIM、LTRIM

trim(exp):去除 exp字符串前后的空格

rtrim(exp):去除 exp字符串右边(right)的空格,即去除字符串尾部空格

ltrim(exp):去除 exp字符串左边(left)的空格,即去除字符串开头空格

如果需要去除所有空格,用replace

select trim('  hello world  ') from dual;

去除尾部空格

去除开头的空格

10、round

按精度四舍五入

11、mod

取余函数,该函数可以用于并列处理 数据的更新。比如:存过更新一个超大表,可以对ID进行取余,进而并发执行存过。

CREATE OR REPLACE PROCEDURE P_update_T_ZNF(seq in number) 
  CURSOR C1 IS
    select t.ID
      from T_ZNF t
     where t.flag = 'N' --是否已经处理的标识
       and mod(t.id, 10) = seq
       and rownum < 160001;

BEGIN
--数据处理
END;
可以打开10个窗口并列执行 call P_update_T_ZNF(seq),seq的值为0-9,这样大大加快的数据的处理速度。
曾经有个数据的更新,执行了一个晚上也没有执行完,后面用取余函数,并发执行,两个小时执行完了。

发表于 2018-01-30 11:05 为梦+餐 阅读() 评论() 编辑 收藏

 

版权声明:本文为weimengjiacan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/weimengjiacan/p/8276849.html

oracle常用函数的更多相关文章

  1. OGG应用进程abend报错无法insert虚拟列

    环境11.2.0.4 linux6.9 RAC2节点,ogg版本Version 12.2.0.1.160823 […]...

  2. 用EF的三种方式(SqlServer数据库和Oracle数据库)

    SqlServer数据库 1.DB First 现有DB,生成edmx文件 贴一下生成的model //--- […]...

  3. oracle 基础知识(七)—-动态性能视图

    一,动态性能视图介绍    动态性能视图属于数据字典,系统管理员用户 SYS 可以访问它们。在数据库打开和使用 […]...

  4. PLSQL Developer启动:Initialization error Oracle Client没有正确安装(远程psl链接数据库报错)

    PLSQL Developer启动:Initialization error Oracle Client没有正 […]...

  5. oracle 密码详解以及破解

    参考的相关资料等: https://docs.oracle.com/en/database/oracle/or […]...

  6. Linux下进行Oracle数据库安装

    一般来说我们Windows下进行安装Oracle都很简单,但Linux下却要输入很多命令,以下的安装步骤是本人经过多次安装Linux下的Oracle经验,希望能帮到大家一、在Linux服务器上创建oracle数据库安装目录1、创建Or...

  7. oracle 实例名和服务名以及数据库名区别

    一、数据库名什么是数据库名?数据库名就是一个数据库的标识,就像人的身份证号一样。他用参数DB_NAME表示,如 […]...

  8. oracle 简单备注

    Oracle随便备注 1. 建立数据库 备注: 1) oracle 不同于mysql 可以直接create d […]...

随机推荐

  1. Maven详解之仓库——本地仓库、远程仓库 Maven详解之仓库——本地仓库、远程仓库(转)

    Maven详解之仓库——本地仓库、远程仓库 在Maven中,任何一个依赖、插件或者项目 […]...

  2. 《SpringMVC从入门到放肆》九、SpringMVC注解式开发(简单参数接收)

    上一篇我们学习了注解式开发的配置方式并写了一个小Demo跑起来。今天我们来学习注解开发的参数接收。处理器方法中 […]...

  3. mapboxgl 互联网地图纠偏插件(一)

    之前写过一个leaflet 互联网地图纠偏插件,不用写代码就能解决国内互联网地图瓦片的偏移问题,这次来搞个ma […]...

  4. 运算符的应用及流程控制if,switch语句

    运算符的应用 1:赋值运算符    简单赋值运算符        例如var useName=\’ […]...

  5. 零点计费系统产品详细介绍! – ◣沒冇終點◥

    零点计费系统产品详细介绍! 产品介绍:   零点计费是一款云计费系统,主要支持各种路由的计费,如:wayos、 […]...

  6. 当你的苹果手机微信聊天记录被删除了怎么办

     微信作为年轻与中年人知名度比较高的交友软件!假如某天你的孩子或者熊孩子把你的重要聊天记录删除了,或者在你不当 […]...

  7. DNS预解析prefetch

    [1]概述 [2]使用 [3]作用 前面的话   本文将详细介绍DNS预解析prefetch的主要内容   概 […]...

  8. Handler_read_*的总结

    优化SQL,只懂执行计划?不行滴! 在分析一个SQL的性能好坏时,除了执行计划,另外一个常看的指标是̶ […]...

展开目录

目录导航