含义解释: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻译值1) ELSIF 条件=值2 THEN RETURN(翻译值2) ...... ELSIF 条件=值n THEN RETURN(翻译值n) ELSE RETURN(缺省值) END IF
decode(字段或字段的运算,值1,值2,值3)
这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3
当然值1...
pakeage dao.Impl;//调用函数FUN_GET();public String get(String Id,String Name){return getSession().createSQLQuery("select FUN_GET(?,?) from dual") .setParameter(0, Id).setParameter(1, Name).uniqueResult() .toString();}//uniqueResult() 返回唯一值 //调用存储过程CallableStatement call = connection.prepareCall("{call ?:=FUN_GETSTUNO(?,?)}"); call.registerOutParameter(1, Types.VARCHAR); c...
Oracle的分析函数row_number(),rank(),dense_rank()的用法与区别比如查询工资排名第7的员工信息,可以用分析函数来做。--查询工资排名第7的员工信息select * from (select emp.*, rank() over(order by sal desc) rank from emp) where rank = 7; select * from (select emp.*, dense_rank() over(order by sal desc) dr from emp) where dr = 7; select * from (select emp.*, row_number() over(order by sal desc) rn from...
在数据库的开发过程中,我们可能会遇到这样的需求,获取一行记录中某几个字段的最大值或者是最小值,oracle给我们提供了解决这种需求的函数,如下所示:greatest(col1, col2, col3...)取得col1, col2, col3...字段中是大的值least(col1, col2, col3....)同理,取得col1,col2,col3...字段中最小的值 如表A内容如下: col1 col2 col3-----------------------30 20 443 9 5 执行sql:select col1, ...
含义解释:decode (条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)该函数的含义如下:IF 条件=值1 THEN RETURN 返回值1ELSEIF 条件=值2 THEN RETURN 返回值2 .....ELSEIF 条件=值n THEN RETURN 返回值n ELSE RETURN 缺省值END IFdecode (字段或字段的运算,值1,值2,值3) 这个函数运行的结果是,当字...
Oracle_基本函数查询综合--【1】查询出每各月倒数第三天受雇的所有员工select * from emp where hiredate = last_day(hiredate)-2; --【2】找出早于30年前受雇的员工select * from emp where (sysdate - hiredate)/365>30;select * from emp where months_between(sysdate,hiredate)/12 > 30;select * from emp where to_char(sysdate,‘yyyy‘) - to_char(hiredate,‘yyyy‘)>30; --【3】以首字母大写的方式显示所有员工的姓名se...
to_char()函数是我们经常使用的函数,下面就为您详细介绍Oracle to_date()函数的用法1.to_char()函数分析 1)SQL中不区分大小写,MM和mm被认为是相同的格式代码 先看以下3个sql语句:12345select to_char(sysdate,‘yyyy-MM-dd HH24:mm:ss‘) from dual; select to_char(sysdate,‘yyyy-mm-dd HH24:mm:ss‘) from dual; select to_char(sysdate,‘yyyy-MM-dd HH24:mi:ss‘) from dual; 查询结果:1232017-02-22 13:02:42<br><br>...
一、函数1、取整 mod(2,10)=2 2、取整 trunc(12/10)=13、取整 ceil(12/10) =24、空(null)指定某个值 nvl(null,9)=95、累计之和 sum(piece)=883476、统计数量 count(keyid)=194 二、算术运算符用于执行数学计算,加(+)、减(-)、乘(*)、除(/)备注:15/10=1.5,而JAVA则为取整数15/10=1三、比较运算符用于将一个表达式与另一个表达式进行比较。=、!= 、<、>、<=、>=in、like、is null 、between、not between四、逻辑运算符用户合并...
SQL中的单记录函数1.ASCII返回与指定的字符对应的十进制数(注:是字符而非字符串);SQL> select ascii(‘A‘) A,ascii(‘a‘) a,ascii(‘0‘) zero,ascii(‘ ‘) space from dual; A A ZERO SPACE--------- ------ 65 97 48 32 2.CHR给出整数,返回对应的字符;SQL> select chr(54740), chr(65) from dual;ZH C-- -赵 A 3.CONCAT连接两个字符串;SQL> select concat(‘010-‘,‘88888888‘)||‘转23‘ 高乾竞电话 f...
1select*from emp;23--分页查询4select rownum,empno from emp where rownum>0;5select*from(6select empno,rownum r from emp 7 )e where r>10and r<1389---PL/SQL入门--声明-type-rowtype-record-view-table1011/*12 PL/SQL语言13 */1415declare--定义部分16 v_name varchar2(20);--变量的 声明: 变量名 变量类型17 v_sal number(10,2);18begin--执行部分19 v_name :=‘lxm‘; --变量20select ename ,sal into v_na...
一、字符串函数LENGTH(CHAR):SELECT LENGTH(‘abc def gh‘) FROM dual; --获取字符串的长度,包含空格
结果:10 CONCAT(char1,char2)SELECT CONCAT(‘abc‘,‘def‘) FROM dual; --连接两个字符串
结果:‘abcdef‘SELECT‘abc‘||‘def‘FROM dual; --连接两个字符串
结果:‘abcdef‘ INITCAP(CHAR): SELECT INITCAP(‘hello‘) FROM dual; --首字母转换为大写
结果:Hello LOWER(CHAR):SELECTLOWER(‘HELLO...
一、存储过程
不可以在insert,update,delete中直接使用,可以有return但代表的是退出过程
过程有三种类型:不返回值,可以返回多个值,参数有三种类型,分别如下:in:只输入,不返回结果,默认为inout:只返回结果,不输入,要想取出输出变量的值必须通过pl/sql块的变量取出in out:可输入,又可返回结果,要想取出输出变量的值必须通过pl/sql块的变量取出--语法create or replace procedure 名称(a1 in varchar2,a2 out varchar2,a3 in...
转至:https://www.cnblogs.com/min-yu/p/11137902.html1、数值函数 函数 返回值 样例 显示 CEIL(n) 大于或等于数值n的最小整数 SELECT CEIL(10.6) FROM TABLE_NAME; 11 FLOOR(n) 小于等于数值n的最大整数 SELECT FLOOR (10.6) FROM TABLE_NAME; 10 MOD(m,n) m除以n的余数,若n=0,则返回m SELECT MOD (7,5) FROM TABLE_NAM...
LAG()和LEAD()统计函数能够在一次查询中取出同一字段的前N行的数据和后N行的值。这样的操作能够使用对同样表的表连接来实现,只是使用LAG和 LEAD有更高的效率。下面整理的LAG()和LEAD()样例:LAG(EXPRESSION,<OFFSET>,<DEFAULT>)
SQL> select year,region,profit ,lag (profit,1) over (order by year) as 51xit_exp from test;
YEAR REGION PROFIT 51xit_exp
---- ------- ---------- -------------
2003 West 8...
往Oracle 中导入数据时,有一个列导入的数据应该时‘2017-04-17’ 的格式,结果导入的数据为 ‘2017/04/17’格式的,1000多条记录要一条条改基本不可能。 于是想到了replace这个函数,具体用法如下:update 表1 t set t.列1=replace((select 列1 from 表1 a where a.主键列=t.主键列) , ‘/‘ , ‘-‘ ) 解决了我们问题。 replace 函数用法如下:replace(‘将要更改的字符串‘,‘被替换掉的字符串‘,‘替换字符串‘)例:select ...