- 浏览: 1348002 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (896)
- spring4 (14)
- hibernate3 (26)
- spring2 (35)
- struts2 (55)
- struts1 (15)
- 设计模式 (15)
- java (172)
- mybatis3 (11)
- sql (17)
- mysql (13)
- jbpm (10)
- J2EE (45)
- tools (29)
- js (83)
- 数据结构 (13)
- Html (26)
- web (22)
- flex (33)
- Oracle (57)
- linux (49)
- 算法 (6)
- 其它 (12)
- easyui (1)
- bootstrap (13)
- xml (2)
- tomcat (1)
- redis (10)
- activemq (2)
- webservice (11)
- maven (2)
- springboot (1)
- ubuntu (1)
- python (14)
- rocketmq (1)
- springcloud (10)
- opencv (1)
最新评论
-
mike_eclipse:
Hashtable是线程不安全的吗?好像是线程安全的吧?
多线程之集合类 -
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
lodop打印控件 -
xingcxb:
经过测试,假的,依旧会出现中文乱码!!!!store方法里面采 ...
java 读写Properties文件,不会出现中文乱码 -
tiger20111989:
...
Spring注解方式管理事务 -
zw7534313:
...
js 文字上下滚动 无间断循环显示
/*create or replace type EMP_REC as
object(ID number(6),
NAME varchar2(20),
AGE NUMBER(3),
PHONE varchar2(11),
BIRTHDAY date,
IMAGE varchar2(50),
comm blob);
*/
/* create or replace package EMP_FETCHER as
function GET_EMP(ID in number) return EMP_REC;
end;
*/
/* create or replace package body EMP_FETCHER as
function GET_EMP(ID in number) return EMP_REC is EMP_FOUND STUDENT
% ROWTYPE;
EMP_RTN EMP_REC;
begin
select *
into EMP_FOUND
from STUDENT
where STUDENT.ID=ID;
EMP_RTN:=EMP_REC(EMP_FOUND.ID,
EMP_FOUND.name,
EMP_FOUND.age);
return EMP_RTN;
end;
end;
*/
In SQL*Plus, use an anonymous block to call the function:
DECLARE EMP_NO NUMBER; v_Return HR.EMP_REC; BEGIN v_Return := EMP_FETCHER.GET_EMP(201); END; /
2.自定义函数(oracle)
CREATE OR REPLACE FUNCTION FUN1(sdate in Date,edate in Date) RETURN NUMBER AS holidays number; st Date; en Date; BEGIN select DATE_START into st from T_ATTE_HOLIDAYS; select DATE_END into en from T_ATTE_HOLIDAYS; -- dbms_output.put_line(vv); if(st=sdate) then holidays:=22; Elsif(st<sdate) then holidays:=33; Elsif(st>sdate) then holidays:=44; end if; --holidays:=22; RETURN holidays; END;
3.decode函数
如下:select decode(sign(salary - 8000),>=0,salary*1.15,<0,salary*1.2,salary) from employee 是不是很简洁? DECODE的语法:DECODE(value,if1,then1,if2,then2,if3,then3,...,else),表示如果value等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。
select decode(sysdate-(sysdate-1),'>0',2,1) from dual; // 条件加单引号,否则报错,decode函数是个选择的关系
select decode(sign(1-3) ,-1,2,0,0,1) from dual; //sing函数标记大于返回结果1,小于返回-1,等于0
问题3: 我想写一个decode函数,要求如下: 如果 yrs_of_service < 1 返回 0.04 如果 yrs_of_service >= 1 and < 5 返回0.04 如果 yrs_of_service > 5 返回 0.06 这种情况我该怎么做呢?
select emp_name,decode(trunc((yrs_of_service+3)/4),0,0.04,1,0.04,0.06) as perc_value from employees;
问题2: 我想知道是否可以用decode函数来确定数字范围,例如 1-10 = 'category 1', 11-20 = 'category 2', 比一个一个比较应该会好一点吧. 回答: 不幸的告诉你,不可以用decode函数来确定数字的范围. 可是你可以试着创建一个表达式,这个表达式可以得一个数字指定的范围, 下一个数字对应下一个指定的范围, 以此类推. 例如: select supplier_id,decode(trunc((supplier_id-1)/10),0,'category 1',1,'category 2',2,'category 3','unknown') result from suppliers; 这个例子基于这个公式:trunc ((supplier_id - 1) / 10 如果supplier_id在1和10之间,表达式计算值=0. 如果supplier_id在11和20之间,表达式计算值=1. 如果supplier_id在21和30之间,表达式计算值=3.
select decode(trunc((to_number(to_char(attendance_time,'HH24mi'))-200)/800),0,0.5,1,0,0.5) from T_ATTENDANCE_TIME where attendance_id=13666
小于10点加0.5,大于18点加0.5,在它之间的为0
二、sign 在Oracle/PLSQL中, sign 函数返回一个数字的正负标志. 语法如下:sign( number ) number 要测试标志的数字. If number < 0, then sign returns -1. If number = 0, then sign returns 0. If number > 0, then sign returns 1.
三、trunc(number) 在Oracle/PLSQL中, trunc function returns a number truncated to a certain number of decimal places. trunc function 语法如下: trunc( number, [ decimal_places ] ) number 要截取的数字. decimal_places 要保留的小数位. 这个参数必须是个整数. 如果此参数缺省,默认保留0位小数
select * from T_USER intersect select * from T_USER where USER_ID in (264,265) //交集 select * from T_USER minus select * from T_USER where USER_ID in(264,265) //差集 select * from T_USER where user_id=264 union all select * from T_USER where user_id in (264,265) //并集 union不包括重复行,union all包括重复行
发表评论
-
access数据库jdbc连接
2019-08-15 09:31 583DriverManager.getConnection(&qu ... -
jdbc连接sql server数据库
2019-08-09 09:05 634public class DataTransmission { ... -
postgresql语法
2019-08-02 16:21 486select CURRENT_DATE from t_user ... -
Oracle外键级联删除和级联更新
2016-01-16 11:51 1863Oracle外键级联删除和级联更新 Oracle在外 ... -
Oracle Job
2015-06-11 22:27 721声明一个job: declare ... -
procedure 不能编译,数据库死锁
2012-03-05 21:17 1271一、数据库死锁的现象 ... -
temporary table ,hint,over(),imp
2012-03-05 21:10 1250create global temporary table ... -
PL/SQl 死循环,死锁
2012-02-20 19:23 1579查找死循环:select * from v$session ... -
PL/SQL批绑定 FORALL
2012-02-01 11:12 1290批绑定: PL/SQL语名块中的SQL语句被送往SQ ... -
PL/SQL 联合数组,集合类型
2012-01-05 14:16 1164自定义Type: create Type arr_Ty ... -
oracle数据库的游标Cursor和存储过程 PL/SQL
2012-01-05 14:03 2238oracle数据库的游标和存储过程 spool abc.lo ... -
对Oracle数据库中的大表管理的简化--分区表
2011-02-21 09:27 1898为了简化Oracle数据库中的大表管理,因而Oracle8推出 ... -
Oracle分页查询 效率高
2011-02-21 09:25 39821.Oracle分页查询:SELECT * ... -
Oracle数学函数和SQL数学函数的区别
2011-02-21 09:22 1274Oracle数学函数和SQL Server中的数学函数不太一样 ... -
oracle多列子查询的实现
2011-02-17 15:42 2457oracle多列子查询是oracle数据库中的一种查询方 ... -
oracle 去重复,¥货币,保留小数点后两位,测试SQL语句执行时间
2011-02-17 15:38 39921.去重复数据:select * from b a where ... -
ORACLE 左连接 left join
2011-02-11 18:05 2730ORACLE 左连接:1.使用(+)表示:SELECT A.O ... -
用EXISTS替换DISTINCT
2011-02-09 12:24 5385Oracle SQL 性能优化技巧 1.选用适合的O ... -
列转行 sql
2010-12-24 15:15 1559如表ROW2COLUMN2有以下数据: 名字 课程 分数 ... -
Exists 和In
2010-12-17 13:28 10173
相关推荐
### Oracle PL/SQL程序设计(第5版)(上下册)知识点概述 #### 一、PL/SQL编程基础 - **PL/SQL简介**:PL/SQL(Procedural Language for SQL)是Oracle数据库的一种内嵌式过程化语言,用于增强SQL的功能。它允许在SQL...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据库操作能力和PL/SQL的结构化编程特性,使得数据库开发者能够创建复杂的应用程序和数据库逻辑。在"Oracle PL/SQL实例精解 数据库建立代码"中,我们将深入探讨...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作功能与PL/SQL的程序设计特性,广泛应用于Oracle数据库的开发和管理。这本书"Oracle PL/SQL从入门到精通"的配套源代码,显然是为了...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据处理能力与PL的程序设计特性,是Oracle数据库系统中用于创建存储过程、函数、触发器和包的主要工具。在这个"Oracle PL/SQL实战(待续)"的主题中,我们将深入...
Oracle PL/SQL是一种强大的编程语言,它将关系数据库的强大功能与结构化编程的优点结合在一起,是Oracle数据库系统中不可或缺的一部分。在"Oracle PL/SQL 实例精解(第4版涵盖Oracle 11g)+源码脚本"中,读者可以深入...
ORACLE PL/SQL是从入门到精通的专业知识,涵盖了数据库开发与管理的多个方面,包括触发器、过程、函数、软件包、异常处理、游标、循环、分支、变量使用、数据库安装等关键知识点。 触发器是数据库中用来保证数据...
《Oracle PL/SQL程序设计(第5版)(套装上下册)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何...
Oracle PL/SQL 是Oracle数据库系统中的过程化语言,它结合了SQL查询功能和高级编程特性,使得开发者可以创建复杂的数据库应用程序。在Oracle 11g R2版本中,PL/SQL与SQL Developer一起使用,提供了丰富的开发环境来...
《Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发》是一本深入探讨Oracle数据库中的PL/SQL编程的专业书籍。PL/SQL是Oracle数据库特有的编程语言,它结合了SQL的查询能力与过程式编程语言的功能,使得数据库...
### Oracle PL/SQL Programming知识点概览 #### 一、书籍基本信息 - **书名**:Oracle PL/SQL Programming(第五版) - **作者**:Steven Feuerstein 和 Bill Pribyl - **出版日期**:2009年10月1日 - **出版社**:...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据库操作能力和Procedural Language的编程结构,用于在Oracle数据库环境中创建复杂的应用程序。在"Oracle PL/SQL实例精讲student数据库模式"中,我们将深入探讨...
Oracle PL/SQL是一种强大的编程语言,它将SQL与过程编程语言的特性相结合,为数据库开发提供了丰富的功能。在Oracle数据库环境中,PL/SQL是开发高效、可靠和可维护的数据库应用程序的关键工具。以下是对"Oracle PL/...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作能力和PL(过程化语言)的程序设计特性,是Oracle数据库系统中的核心组件之一。《精通Oracle PL/SQL》这本书深入探讨了这个语言的...
《Oracle PL/SQL by Example(4th Edition)》是一本专为Oracle数据库用户设计的PL/SQL编程指南,尤其适合那些希望通过实践学习这一强大的过程式语言的开发者。本书的第四版详细介绍了Oracle PL/SQL的各种核心概念和...
Oracle PL/SQL最佳实践 Oracle PL/SQL是一种强大的编程语言,用于在Oracle数据库环境中构建复杂的业务逻辑和数据处理任务。Steven Feuerstein,被誉为Oracle PL/SQL语言的大师,分享了他在这一领域的关键最佳实践和...
Oracle PL/SQL 语言是Oracle数据库系统中的一种高级编程语言,它是SQL的扩展,专为数据库管理和应用程序开发设计。PL/SQL集成了SQL的查询、操纵、定义和控制功能,并添加了过程化编程元素,使其成为数据库管理和开发...
Oracle PL/SQL 编程及最佳实践 Oracle PL/SQL 是一种高级编程语言,用于开发 Oracle 数据库中的存储过程、函数和触发器。PL/SQL language 提供了强大的编程能力,可以实现复杂的业务逻辑,并且与 Oracle 数据库紧密...
《ORACLE PL/SQL 程序设计(第五版)》是Oracle数据库开发领域的一本经典教程,专注于讲解如何使用PL/SQL这一强大的过程化语言进行数据库编程。这本书旨在帮助读者掌握PL/SQL的基本概念、语法和高级特性,以便在实际...