【oracle数字函数】教程文章相关的互联网学习教程文章

Oracle系列:(11)通用函数和条件判断函数【代码】【图】

使用NVL(a,b)通用函数,统计员工年收入,NVL()作用于任何类型,即(number/varchar2/date)通用函数:参数类型可以是number或varchar2或date类型select ename,sal*12+NVL(comm,0) from emp;使用NVL2(a,b,c)通用函数,如果a不为NULL,取b值,否则取c值,统计员工年收入 select ename,sal*12+NVL2(comm,comm,0) from emp;使用NULLIF(a,b)通用函数,在类型一致的情况下,如果a与b相同,返回NULL,否则返回a,比较10和10.0是否相同select...

oracle--存储过程,游标,函数,触发器【代码】

1.培训要求1)掌握PLSQL程序设计2)掌握存储过程,函数和触发器3)了解一些oralceSQL语句优化方案-------------------------------------------------------------------------------------准备篇col empno for 9999; col ename for a10; col job for a10; col mgr for 9999; col hiredate for a12; col sal for 9999; col comm for 9999; col deptno for 99; col tname for a40; set pagesize 80;--------------------------------...

Oracle系列:(29)存储过程和存储函数【代码】【图】

什么是存储过程?事先运用oracle语法写好的一段具有业务功能的程序片段,长期保存在oracle服务器中,供oracle客户端(例如,sqlplus)和程序语言远程访问,类似于Java中的函数。为什么要用存储过程? (1)PLSQL每次执行都要整体运行一遍,才有结果 (2)PLSQL不能将其封装起来,长期保存在oracle服务器中 (3)PLSQL不能被其它应用程序调用,例如:Java存储过程与PLSQL是什么关系?存储过程是PLSQL的一个方面的应用,而P...

Oracle中的单行函数

1 字符函数 UPPER()--将字符串转换为大写 SELECT UPPER(‘abc‘) FROM dual; LOWER()-将字符串转换为小写 SELECT LOWER(‘ABC‘) FROM dual; INITCAP()-首字母大写,其它字母小写. SELECT INITCAP(‘hello‘) FROM dual; REPLACE()-将指定的字符/字符串替换 SELECT REPLACE(‘abcd efg‘,‘cd‘,‘XXX‘) FROM dual; LENGTH()-获取字符串的长度 SELECT LENGTH(‘hello world‘) FROM dual; SUBSTR()字符串截取 SELECT SUBST...

Oracle没有WM_CONCAT函数的解决办法

WM_CONCAT是oracle的非公开函数,并不鼓励使用,新版本oracle并没有带此函数,需要手工加上。 1、下载三个文件:owmctab.plb 、 owmaggrs.plb 、 owmaggrb.plb 2、用sqlplus登录:sqlplus -logon sys/123 as sysdba 3、执行@C:\Users\JOYTRAVEL\Desktop\WMSYS用户\owmaggrb.plb; 如果执行结果报错,说找不到WMSYS用户,那么执行 @C:\Users\JOYTRAVEL\Desktop\WMSYS用户\owmctab.plb; 再执行owmaggrb和owmaggrs Oracle没有WM_CO...

ORACLE 表函数实现

1、创建表对象类型。 在Oracle中想要返回表对象,必须自定义一个表类型,如下所示: create or replace type t_table is table of number; 上面的类型定义好后,在function使用可用返回一列的表,如果需要多列的话,需要先定义一个对象类型。然后把对象类型替换上面语句中的number; 定义对象类型: create or replace type obj_table as object( id int, name varchar2(50)) 修改表对象类型的定义语句如下: create or replace ...

用sql语句导出oracle中的存储过程和函数

echo off ; SET heading off ; SET feedback off ; SPOOL ‘C:/PRC.SQL‘ replace SELECT CASEWHEN LINE = 1 THEN‘CREATE OR REPLACE ‘ || TEXTWHEN LINE = MAX_LINE THENTEXT || CHR(10 ) || ‘/‘ELSETEXTENDFROM USER_SOURCE ALEFT JOIN (SELECT A.NAME,A.TYPE, MAX(LINE) MAX_LINEFROM USER_SOURCE AWHERE TYPE in ( ‘PROCEDURE‘, ‘PACKAGE‘ ,‘PACKAGE BODY‘ )GROUP BY A.NAME,A.TYPE ) B ON A.NAME||A.TYPE = B.N...

oracle 之 函数

函数的结束一定要使用return语句返回一个与声明匹配的值 --语法: create[or replace] function<函数名> [(参数列表)] return数据类型 is|as (is或as完全等价 ) [局部变量声明] begin pl/sql函数体 end[<函数名>] --函数 没有参数 create or replace function getCountreturn numberas v_num number; begin   select count(*) into v_num from v_emp;   return v_num;end; --调用函数1select getCount() from dual...

Oracle基本语法&amp;&amp;函数&amp;&amp;子查询&amp;&amp;分页查询&amp;&amp;排序&amp;&amp;集合操作&amp;&amp;高级分组函数

创建表 CREATE TABLE employee( idNUMBER(4), name VARCHAR2(20), gender CHAR(1), birth DATE, salary NUMBER(6,2), jobVARCHAR2(30), deptno NUMBER(2) ); --查看表结构 DESC employee; --删除表 DROP TABLE employee; 数据库中字面量数字不需要用单引号,但是字符串需要单引号没有双引号 NOT NULL 和 DEFAULT 不能同时使用,DEFAULT不给值得时候才会赋值,给值的时候就用给的值 --设置非空和初始属性 CREATE TAB...

Oracle TO_DATE() 函数格式化时间【全】

select to_date(‘2004-05-07 13:23:44‘,‘yyyy-mm-dd hh24:mi:ss‘) from dual// 2. select to_char( to_date(222,‘J‘),‘Jsp‘) from dual 显示Two Hundred Twenty-Two 3.求某天是星期几 select to_char(to_date(‘2002-08-26‘,‘yyyy-mm-dd‘),‘day‘) from dual; 星期一 select to_char(to_date(‘2002-08-26‘,‘yyyy-mm-dd‘),‘day‘,‘NLS_DATE_LANGUAGE = American‘...

Oracle函数

--函数 functioncreate or replace function fn_teacher_tid(f_tid char --用户传递的参数)return char --返回值的类型is --声明返回值f_result teacher.tid%type;begin if length(f_tid)!=18 then dbms_output.put_line(‘身份证长度不够!‘); else dbms_output.put_line(‘查询成功!‘); end if; --给返回值赋值 f_result:=substr(f_tid,1,6)||‘********‘||substr(f_tid,15); return f_result;end fn_teach...

Oracle分析函数

--查询所有老师的薪水排名--rank():具有相等值的排位相同,随后的排名跳跃select tname,sal,rank() over(order by sal) as 薪水排名from teacher--dense_rank():具有相等值的排位相同,随后的排名是连续的select tname,sal,dense_rank() over(order by sal) as 薪水排名from teacher--row_number:无论值是否相等,返回的排名都是连续的select tname,sal,deptno,row_number() over(order by sal) as 薪水排名from teacher -...

Oracle系列:(33)JDBC访问Oracle的存储过程和存储函数【代码】

1、存储过程1.1、准备SQL-- 定义存储过程 create or replace procedure get_rax(salary in number,rax out number) as --需要交税的钱 bal number; begin bal := salary - 3500; if bal<=1500 then rax := bal * 0.03 - 0; elsif bal<=4500 then rax := bal * 0.1 - 105; elsif bal<=9000 then rax := bal * 0.2 - 555; elsif bal<=35000 then rax := bal * 0.25 - 1005;...

Oracle trunc()函数的用法

Oracle trunc()函数的用法标签:本文系统来源:http://www.cnblogs.com/nmliu/p/5929517.html

几个强大的oracle自带函数,可根据日期算年纪,根据数值匹配字段

select A.USER_NAME, decode(A.SEX, 1, ‘男‘, 2, ‘女‘)AS SEX, A.HEAD_PORTRAIT, TRUNC(months_between(sysdate, A.BIRTHDAY) / 12) || ‘岁‘ AS BIRTHDAY, Z.DISEASE_NAME from T_PATIENT_INFO A 说明:decode 数值匹配字段,写到sql里就不用再到页面上进行<c:if>判断了, months_between 获取两个时间之间的间隔月数,这里是整除12来获取岁数,很是方便, TRUNC函数返回以指定元...