SQL语句的DECODE()和NVL()函数用法 SELECT DECODE(choose_tool,0,'宝马',1,'电动车',2,'自行车','步行')  AS my_tool FROM data_tool_t //分析:当choose_tool为0时候,my_tool=‘宝马’ 当choose_tool为1时候,my_tool=‘电动车’ 当choose_tool为2时候,my_tool=‘自行车’ 当choose_tool都不是上面数字时候,my_tool=‘步行’ NVL()函数:…
decode()函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能.   DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能.DECODE有什么用途 呢? 先构造一个例子,假设我们想给智星职员加工资,其标准是:工资在8000元以下的将加20%:工资在8000元以上的加15%,通常的做法是,先选出记录 中的工…
decode函数主要作用:将查询结果翻译成其他值(即以其他形式变现出来) 使用方法: SELECT DECODE(colunm_name,值1,翻译值1,值2,翻译值2……值n,翻译值n,缺省值) FROM tablename; 解释: if (条件==值1) then return(翻译值1)elsif (条件==值2) then return(翻译值2) ....... elsif (条件==值n) then return(翻译值n) else return(缺省值) end if 注:其中…
在 Django 中构建 Oracle 数据库支持的 Web 应用程序 了解如何配置 Django 以便与 Oracle 数据库交互,并使用 ORM 进行数据库连接.             产能在软件开发环境中意味着及时完成工作的能力.开发人员经常发现自己在重复执行相同的任务,这无疑会降低其产能.这是框架能够派上用场的地方:使用适当的框架,您可以将重点放在项目需求上,而不是处理低级.棘手的实施细节.            Django 是基于 Python 的 Web 应用程序框架,最初旨在简…
oracle sql常用查询nvl,nvl2,decode区别及使用方法 1,NVL( E1, E2) 如果E1为NULL,则NVL函数返回E2的值,否则返回E1的值,如果两个参数都为NULL ,则返回NULL. ) , ) select nvl(null, null) from dual; --null 2,nvl2 (E1, E2, E3) 的功能为:如果E1为NULL,则函数返回E3,否则返回E2 , ) ,3,decode(E1, E2, E3, E4, E5, E6 ) 如果E1==E…
使用NVL的时候只能对值进行是否为空的判断,基本语法是NVL( 值1, ,结果2).它的功能是如果值1为空,则此函数返回结果2,不为空的话直接输出值1(如果两个参数都为空,那么还是返回空): NVL2我理解为NVL的升级版,基本语法是NVL2(值1,结果3,结果2),多了一个结果3在中间,功能是当值1不为空的时候,此函数返回结果3,如果写成NVL2(值1,结果1,结果2),那么效果就等同于NVL(值1,结果2)了: DECODE函数再次升级,基本表达式DECODE(值1,条件1,结果1,条件2,…
分析函数,用于统计排名 语法:函数名() over(order by 排序字段 asc | desc) row_number() 无论值是否相等,生成连续的行号 -- 1,2,3,4, select ename,sal,row_number() over (order by sal desc) 名次 from emp; dense_rank() 如果值相等,则排名相同,排名仍连续 --1,2,2,3,4,5 select ename,sal,dense_rank() over (order by…
上一小结我们简单介绍了存储过程和存储函数,对存储过程和存储函数有了一个基本的了解,接下来介绍在java程序中如何调用我们创建的存储过程和存储函数 1.在应用程序中调用我们的存储过程 创建一个简单的Java工程,如:TestOracle,在项目中新建lib文件夹,并拷贝ojdbc14.jar,添加到系统路径中,目录结构如下: 在项目中创建一个用于连接数据库以及与数据库执行交流的工具类JDBCUtils.java package demo.utils; import java.sql.Connect…
1.存储过程和存储函数 描述:指存储在数据库中供所有用户程序调用的子程序叫做存储过程.存储函数 区别:存储函数可以通过return子句返回一个函数的值 (1)存储过程 语法:create [or replace] PROCEDURE 过程名(参数列表) AS PLSQL子程序体; 存储过程的调用方式: a)exec/execute 过程名(); b)begin 过程名(); 过程名(); end; / 带参数的存储过程: 举例:为指定的员工涨100块钱工资,并且打印涨前以及涨后的工资. 在sql…
1.聚合函数 count(字段) // 求非空行的数量 max(字段) // 获取最大值 sum(字段) //求和 avg(字段) // 平均值 min(字段) // 最小值 2.转换函数 to_date() 字符串转时间 格式: to_date(字符串,'yyyy-mm-dd hh24:mi:ss') 例: to_date ('1970-1-1 15:31:33' , 'yyyy-mm-dd hh24: mi: ss ') to_char() 时间转字符串 格式:to_char ( 某个时间,…
一.操作符: 1.分类: 算术.比较.逻辑.集合.连接: 2.算术操作符: 执行数值计算: -- 工资加1000 from emp; 3.比较操作符: -- 比较运算符(between and包头不包尾) ; (不等于是!=  ,   在mysql中是<>  ) 4.逻辑操作符:and  or  not --查询奖金不为空的员工信息 select * from emp where comm is not null; 5.集合操作符: 将两个查询的结果组合成一个结果: ' INTERSECT '…
oracle中的存储函数,和系统内的函数类似,可以像调用系统函数一样调用存储函数.它与存储过程的唯一区别就是存储过程没有return返回值,存储函数可以与存储过程互换,存储函数可以在存储过程中调用. 存储函数的基本语法结构: create [or replace] function 函数名[(参数名 in|out 参数类型)]   return 返回值数据类型 is 声明变量部分; begin 代码块; return 结果变量; end [函数名]; 例如:查指定员工的年薪 创建存储函数: cr…
一.存储过程和函数 存储过程: 对一个模块的封装 函数: 功能与存储过程几乎一样 区别: 函数必须通过return 关键字返回一个值 存储过程: 不需要return返回值 参数: 输入型参数 输出型参数 输入(输出)型参数 什么时候用存储过程, 什么时候用函数 一般来讲, 当只有一个返回值的时候用函数, 当没有返回值或者需要多个返回值的时候, 用存储过程 二.首先看一下SQL基础 先看要举例的表的内容: 下面开始操作: 首先建一个新的SQL Window: DECLARE --声明变量 /* 引…
--创建存储过程CREATE OR REPLACE PROCEDURE first_procISBEGIN DBMS_OUTPUT.PUT_LINE('我是过程'); DBMS_OUTPUT.PUT_LINE('Hello Everyone!');END; --创建函数CREATE OR REPLACE FUNCTION first_funcRETURN VARCHAR2ISBEGIN DBMS_OUTPUT.put_line('我是函数'); RETURN 'Hello Everyone!';…
常用关键字 insert into---插入数据 delete---删除数据 update---更新一条数据 select---实际工作中尽量不要写* set---设置某些属性 where---给执行的语句加限制条件 --增加信息 1 insert into p_dept(deptno,dname,loc) ,'ceshi','ceshi'); commit; --增加信息 2 insert into p_dept ,'ceshi','ceshi'); commit; --增加信息 3 inse…
第一步:采用putty.exe登录数据库服务器. 输入IP后点击“Open”按钮: 第二步:登录对应的数据库实例. 执行:# su – oracle 查找:$ps -ef | grep pmon 找到对应的实例名后: 执行:$export ORACLE_SID=**oadb1 执行:$sqlplus / as sysdba 执行:SQL> @?/rdbms/admin/utlpwdmg.sql Function created. Grant succeeded. Profile altered.…
官方文档挺详细的,在新功能那里有介绍到:http://www.oracle-developer.net/display.php?id=506 PIVOT的语法:https://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_10002.htm#SQLRF01702…
package com.shangsheng; import java.sql.*; public class UserOracle { public static void main(String[] args) throws SQLException, ClassNotFoundException { final String username="scott"; final String password="root"; final String url=&qu…
视频课程:李兴华 Oracle从入门到精通视频课程 学习者:阳光罗诺 视频来源:51CTO学院 Oracle数据库从入门到精通-单行函数 在数据库中,为了方便用户的数据开发,往往会提供一系列的支持函数,利用这些函数可以针对于数据处理. 例如:在进行根据姓名查询的时候,如果说姓名本身是大写字母,而查询的是小写字母,此时就不会由任何的数据结果返回.所以针对于此类情况,往往数据保存的时候或者是查询的时候对数据进行一些处理,而这些处理每一个数据库都有自己本身的函数库,利用函数可以实现特定的功能. 在Or…
DECODE函数是ORACLE PL/SQL是功能强大的函数之中的一个,眼下还仅仅有ORACLE公司的SQL提供了此函数,其它数据库厂商的SQL实现还没有此功能.DECODE有什么用途 呢? 先构造一个样例,如果我们想给智星职员加工资,其标准是:工资在8000元下面的将加20%:工资在8000元以上的加15%.通常的做法是.先选出记录 中的工资字段值? select salary into var-salary from employee,然后对变量var-salary用if-then-else…
六.单行函数 6.1.认识单行函数 ​ 函数就是和 Java 语言之中的方法的功能是一样的,都是为了完成某些特定操作的功能支持,而在 Oracle 数据库里面也包含了大量的单行函数,这些函数掌握了以后,可以方便的帮助进行数据库的相关开发. ​ 对开发者而言,最为重要的就是 SQL 语法和单行函数,可是 Oracle 中的单行函数的数量是非常多的.本章只讲解使用,后面会讲解如何去开发用户自己的函数(PL/SQL 编程) 6.1.1 单行函数语法 ​ funcation_name(列|表达式[,参数…
最近在修改项目中一个统计的bug,统计出的钱数不对,因为不是自己开发的模块,经过分析流程找到了统计的sql. sum(f_msmoney)+sum(f_fkmoney) as total, 上面这段是计算钱数的sql,看上去没有什么问题,但是sql查出来的total值居然是null,然后开始检查表结构和数据,发现两个字段类型为VARCHAR2且有一个有值,另一个字段为空.起初先验证是不是数据类型不是NUMBER不能进行计算,但很快我的想法被否认了,我用to_number对字段进行转换,查询结构依…
时间:2016-8-18 01:17 ----------------------------------------------------------------------------停下休息的时候不要忘记,比你强的人还在奔跑----------------------------------------------------------------------------    第一章:数据库系统概述一.数据库的产生动机    1.1 所有事物的产生都一定会有它的客观规律,对于计算机而…
--========================================== --Oracle实例和Oracle数据库(Oracle体系结构) --========================================== /* 对于初接触Oracle 数据库的人来讲,很容易混淆的两个概念即是Oracle 实例和Oracle 数据库.这两 概念不同于SQL sever下的实例与数据库,当然也有些相似之处.只是在SQL server我们根本不需要花费太 多的精力去搞清SQL实…
免责声明:     本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除.     原文作者:Leshami      原文地址:http://blog.csdn.net/leshami/article/details/5529239 --========================================== --Oracle实例和Oracle数据库(Oracle体系结构) --======================================…
参考:http://www.zhetao.com/content240 在实际的开发应用中,关于Oracle数据库,经常听见有人说建立一个数据库,建立一个Instance,启动一个Instance之类的话. 其实问他们什么是数据库,什么是Instance,很可能他们给的答案就是数据库就是Instance,Instance就是数据库啊,没有什么区别. 在这里,只能说虽然他们Oracle用了可能有了一定的经验,不过基础的概念还是不太清楚.(我目前就是这个状态) 一.什么是数据库,其实很简单,数据库就…
前言:刚接触Oracle数据库,便有一个需求,编写控制台程序,实现主人登录.数据库为Oracle.下面详细介绍一下MyEclipse 连接Oracle数据库.   package DbHelp; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import oracle.jdbc.driver.OracleDriver; /** * 数据库连接帮助类 * @autho…
对于初接触Oracle 数据库的人来讲,很容易混淆的两个概念即是Oracle 实例和Oracle 数据库.这两 概念不同于SQL sever下的实例与数据库,当然也有些相似之处.只是在SQL server我们根本不需要花费太 多的精力去搞清SQL实例和数据库,因为它简单易于理解.下面简要说明一下SQL实例.数据库,更多的是讲 述Oracle下的实例及数据库. 一.SQL server中的实例与数据库 1.SQL中的实例指的是一个SQL server服务器上仅有一个缺省实例.缺省实例名即为机器名S…
场景:最近做一个java web项目,使用jdbc连接Oracle数据库,遇到了两个问题. 问题1:jdbc连接不上Ubuntu Oracle服务器? 后来发现这个问题的原因是由于连接字符串写错了,修正以后如下所示: public static Connection getConn() { Connection conn = null;   try {   // oracle // 1.加载驱动 Class.forName("oracle.jdbc.driver.OracleDriver&quo…
一.存储关系Oracle 数据库逻辑上是由一个或多个表空间组成的,表空间物理上是由一个或多个数据文件组成的:而在逻辑上表空间又是由一个或多个段组成的.在Oracle 数据库中,通过为每种不同的数据对象分配不同的段,来保存数据.例如EMP 表的所有数据会存放在EMP段中.在Oracle 数据库中,段是由一个或多个区组成的,而区又是由连续存储的数据块所组成的.块则是数据库的I/O 最小的单位. 数据库可划分为被称为表空间的逻辑存储单元.每一个表空间可以包含很多的Oracle逻辑数据块.DB_BLOC…