在使用ORACLE过程中,把一些常用的函数的相关用法,注意事项进行简单的汇总,便于自己查询参考。

  • DBMS_RANDOM包

dbms_random是一个可以生成随机数值或者字符串的程序包。这个包有initialize()、seed()、terminate()、value()、normal()、random()、string()等几个函数

  1. value() 用于返回两个数值之间的随机数,value(low,high)
  2. random() 返回的值介于2的31次方和-2的31次方之间的整形数值
  3. dbms_random.send方法

    用于生成一个随机数种子,设置种子的目的是可以重复生成随机数,用于调试。否则每次不同,难以调度。

  4. dbms_random.normal方法

    NORMAL函数返回服从正态分布的一组数。此正态分布标准偏差为1,期望值为0。这个函数返回的数值中有68%是介于-1与+1之间,95%介于-2与+2之间,99%介于-3与+3之间。

  • EXECUTE IMMEDIATE

解析并马上执行动态语句 ,或非运行时创建的pl/sql块

1. 不提交dml事务,要显式提交;

execute immediate处理ddl,会提交所以以前改变的数据;

2.不支持多行查询,可以临时表 或者ref cursors

3.执行sql不需语句,执行pl/sql 要加分号;

--0.传入

declare

i_aac001 number(6):=111;

begin

execute immediate 'insert into a2(aac001) values(:1)'

using i_aac001;

end;

insert into a2(aac001) values(1);

insert into a2(aac001) values(2);

--1.传入/传出

declare

cnt number(6);

begin

execute immediate 'select 1 from dual where 1=:1' into cnt

using cnt;

dbms_output.put_line(cnt);

end;

--2.调用存储过程

declare

s1 varchar2(10);

s2 varchar2(10);

begin

execute immediate 'begin test1(:1,:2); end;'

using s1,s2;

end;

--3.传值到记录

declare

--类型

--声明

type type_a is record(str varchar2(10));

v_a type_a;

v_b a2%rowtype;

begin

execute immediate 'select * from a2 where aac001=1742178'

into v_b;

end;

--4.多行查询 用临时表 或ref cursors

declare

l_sal    pls_integer := 2000;

begin

execute immediate 'insert into temp(empno, ename) ' ||

'           select empno, ename from emp ' ||

'           where   sal > :1'

using l_sal;

commit;

end;

http://baiyaoming.iteye.com/blog/1255016

for in  变量声明类型

-------------------------------

declare

cursor cur is select * from a2;

begin

for c in (select * from a2) loop

dbms_output.put_line(c.aac002);

end loop;

end;

insert into a2(aac001) values(1);

declare

type t_a is table of a2%rowtype;

type t_b is table of number(10) index by pls_integer;

v_a t_a;

v_b t_b;

begin

select aac001 bulk collect into v_b from a2;

for i in v_b.first..v_b.last loop

dbms_output.put_line(v_b(i));

end loop;

end;

  • REPLACE函数

replace(x,y,z)返回值为将串X中的Y串用Z串替换后的结果字符串。若省略Z参数,则将串X中为Y串的地方删除

  • TRUNC函数

TRUNC函数返回以指定元素格式截去一部分的日期值。

其具体的语法格式如下:
TRUNC(date,[fmt])
其中:
date 为必要参数,是输入的一个日期值
fmt 参数可忽略,是日期格式,用以指定的元素格式来截去输入的日期值。忽略它则由最近的日期截去
下面是该函数的使用情况:
trunc(sysdate,'yyyy') --返回当年第一天.
trunc(sysdate,'mm') --返回当月第一天.
trunc(sysdate,'d') --返回当前星期的第一天.
fmt值参考如下:
Unit
Valid format parameters
Year
SYYYY, YYYY, YEAR, SYEAR, YYY, YY, Y
ISO Year
IYYY, IY, I
Quarter
Q
Month
MONTH, MON, MM, RM
Week
WW
IW
IW
W
W
Day
DDD, DD, J
Start day of the week
DAY, DY, D
Hour
HH, HH12, HH24
Minute
MI

ORACLE常用函数汇总(持续更新中....)的更多相关文章

  1. php 常用函数集合(持续更新中...)

    php 常用函数集合 在php的开发中,巧妙的运用php自带的一些函数,会起到事半功倍的效果,在此,主要记录一些常用的函数 1.time(),microtime()函数 time():获取当前时间戳 ...

  2. Oracle数据库常用函数使用--持续更新中

    NVL函数.NVL( string1, replace_with).如果string1为NULL,则NVL函数返回replace_with的值,否则返回原来的值. INSTR函数.用于查找指定字符串是 ...

  3. oracle 常用指令(持续更新中....)

    1. 查看所有表空间大小 select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_nam ...

  4. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  5. 《WCF技术剖析》博文系列汇总[持续更新中]

    原文:<WCF技术剖析>博文系列汇总[持续更新中] 近半年以来,一直忙于我的第一本WCF专著<WCF技术剖析(卷1)>的写作,一直无暇管理自己的Blog.在<WCF技术剖 ...

  6. AngularJS进阶(十二)AngularJS常用知识汇总(不断更新中....)

    AngularJS常用知识汇总(不断更新中....) 注:请点击此处进行充电! app.controller('editCtrl',['$http','$location','$rootScope', ...

  7. 中国.NET:各地微软技术俱乐部汇总(持续更新中...)

    中国.NET:各地微软技术俱乐部汇总(持续更新中...)   本文是转载文,源地址: https://www.cnblogs.com/panchun/p/JLBList.html by ​史记微软. ...

  8. 【github&&git】4、git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  9. 痞子衡嵌入式:史上最强i.MX RT学习资源汇总(持续更新中...)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MX RT学习资源. 类别 资源 简介 官方汇总 i.MXRT产品主页 恩智浦官方i.MXRT产品主页,最权威的资料都在这里,参考手 ...

  10. JavaScript中常用函数(入门级)(持续更新)

    本文中枫竹梦介绍一些JavaScript中入门级的常用函数,对于已经过了入门的童鞋可选择略过,都是一些非常实用的函数.如果发现什么问题,欢迎讨论. 问题列表 Q1: 设计一个函数repeatIt(st ...

随机推荐

  1. MAYA 卸载工具,完美彻底清除干净maya各种残留注册表和文件

    是不是遇到MAYA/CAD/3DSMAX/INVENTOR安装失败?AUTODESK系列软件着实令人头疼,MAYA/CAD/3DSMAX/INVENTOR安装失败之后不能完全卸载!!!(比如maya, ...

  2. 线程同步(windows平台):互斥对象

    一:介绍 互斥对象是系统内核维护的一种数据结构,保证了对象对单个线程的访问权. 二:函数说明 创建互斥对象:    HANDLE CreateMutex(            LPSECURITY_ ...

  3. 解决VMWARE 虚拟机安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态

    VMWARE WORKSTATION 在安装64为操作系统报错,报错内容如图: 错误提示已经很清楚了,需要在BIOS 中打开intel VT-x g功能,开启此功能的前提是: 1.首先要确定的就是你的 ...

  4. Python 集合(set)类型的操作——并交差

    介绍 python的set是一个无序不重复元素集,基本功能包括关系测试和消除重复元素. 集合对象还支持并.交.差.对称差等. sets 支持 x in set. len(set).和 for x in ...

  5. FZU 2207 ——以撒的结合——————【LCA + 记录祖先】

    Problem 2207 以撒的结合 Accept: 47    Submit: 161Time Limit: 1000 mSec    Memory Limit : 32768 KB  Proble ...

  6. 深入理解JavaScript系列(7):S.O.L.I.D五大原则之开闭原则OCP

    前言 本章我们要讲解的是S.O.L.I.D五大原则JavaScript语言实现的第2篇,开闭原则OCP(The Open/Closed Principle ). 开闭原则的描述是: Software ...

  7. javascript动态添加表格以及获取数据

    <script type="text/javascript"> var dict = { '百度': 'http://wwww.baidu.com', '新浪': 'h ...

  8. 运算符重载关键字operator

    operator关键字用来重载内置运算符,使用方法如下: public class OperatorController : Controller { // // GET: /Operator/ pu ...

  9. (转)vs2010 vs2013等vs中如何统计整个项目的代码行数

    在一个大工程中有很多的源文件和头文件,我如何快速统计总行数? ------解决方案-------------------- b*[^:b#/]+.*$ ^b*[^:b#/]+.*$ ctrl + sh ...

  10. Jquery系列:textarea常用操作

    1.textarea内容的读取与设置 读textarea文本值可以用name和id.而写入文本值只能用id. <textarea name="content" id=&quo ...