Oracle函数汇总

日期函数

1.  select sysdate from dual

查询当前日期

2.  select months_between() from dual

查询两个日期的月份差

3.  select add_months(sysdate,1) from dual

给某个日期增加一个月

4.   select round(1.554,1) from dual

四舍五入(具体参数,小数点后几位小数)

数字函数

1.  select abs(-3) from dual

取绝对值

2.  select sqrt(9) from dual

开平方根

字符函数

1.  select Initap(‘abc‘) from dual

首字母大写

2.  select substr(‘欢迎大家来到北大青鸟学习‘,1,2) from dual

结果:欢迎

ps:从1开始,截取2个长度 Orcl

3.  select instr(‘CORPORATE FLOOR‘,‘OR‘,3,2) from dual;

ps:从第3位查起(可为负),查第几个‘OR’的位置(超出索引为0,第几个若负报错)

转换函数

1.   select to_date(‘1991-10-31‘,‘yyyy-mm-dd hh24:mi:ss‘) from dual

string转为date

2.  select to_char(1.234,‘$9999.9‘) from dual  转数字str   

结果:$1.2

9  数字

0  零

$  美元符号

L 本地货币符号

.   小数点

,  千位符

  select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss‘) from dual  转日期str

3.  select to_number(‘1.23‘)+2 from dual

结果:3.32  显式转换

  select ‘1.23‘+2 from dual

结果:3.32  隐式转换

  select ‘1.23‘||2 from dual

结果:1.232  orcl中连接专用||  加法专用+

  select ‘1.23‘+‘2‘ from dual

结果:3.32   真·隐式转换  sql server结果:1.232 连接的意思

通用函数(nvl,nvl2滤空函数)

1.  select sal*12 工资, comm 奖金,sal*12+nvl(comm,0) from emp

ps:如果1为null,替换为2

  原句:select sal*12 工资,comm 奖金, sal*12+comm from emp

nvl的意义就是 null + - * / 任意数 = null

tip:题意为统计年终薪资,不能因为奖金null,收益也为null,所以需要滤空

2.  select sal*12 工资,comm 资金, sal*12+nvl2(comm,comm,0) from emp;

ps:1为空,替换为3.不为空,替换为2.必替

decode函数

select nid, decode(tid,1,‘a‘,2,‘b‘,3,‘c‘,4,‘d‘,‘Non E‘) 编号 from student

tip:类似sql  server的 case when then end

  

时间: 2024-10-01 10:43:03

Oracle函数汇总的相关文章

oracle函数listagg的使用说明(分组后连接字段)

关于oracle函数listagg的使用说明 工作中经常遇到客户提出这样的需求,希望在汇总合并中,能够把日期逐个枚举出来. 如图,原始数据是这样的: 客户希望能够实现这样的汇总合并: 那么通常我会使用listagg这个函数,但是好多网上都是系统的全面的介绍listagg这个函数的使用方法,看起来很费力气.在这里我简明扼要的说明一下 实现这个需求的语句是这样的: select name, listagg(ddate,' / ') within group (order by name) as dd

Oracle 函数大全

F.1字符函数--返回字符值 (chr,concat,initcap,lower,lpad/rpad,nls_initcap,nls_lower,nls_upper,regexp_replace,regexp_substr,replace,trim/ltrim/rtrim,soundex,substr,translate,upper) 说明:可以sql和plsql中使用 CHR 语法:  chr(x) 功能:给出整数X,返回对应的ASCII码字符.CHR和ASCII是一对反函数. SQL> se

【函数】Oracle函数系列(1)--字符函数

[函数]Oracle函数系列(1)--字符函数 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 常见字符函数(lower.upper.initcap.concat.substr.length.intr.lpad.rpad.trim.chr.ascii.replace.translate)的使用 ② 判断字符串中是否含有汉字 ③ substr和instr的联合使用 ④

ORACLE函数之单行数字函数

 1.           ABS(X) 返回X的绝对值 SQL>SELECT ABS(-1) A,ABS(1) B,ABS(0) C FROM DUAL; A          B          C -------------------- ---------- 1          1          0 2.          ACOS(X) 返回X的反余弦值 SQL>SELECT ACOS(0) A,ACOS(0.5) B,ACOS(1) C FROM DUAL; A    

Oracle——函数

CREATE FUNCTION annual_income(spNAme VARCHAR2) RETURN NUMBER IS yearSal number(7,2);BEGIN  SELECT (sal+NVL(comm,0))*12 INTO yearSal FROM emp WHERE ename=spNAme;  RETURN yearSal;END;/ SQL> var income number;SQL> call annual_income('SMITH') into:incom

非常实用的PHP常用函数汇总

这篇文章主要介绍了非常实用的PHP常用函数,汇总了加密解密.字符串操作.文件操作.SQL注入等函数的实例与用法说明,在PHP项目开发中非常具有实用价值,需要的朋友可以参考下 本文实例总结了一些在php应用开发中常用到的函数,这些函数有字符操作,文件操作及其它的一些操作了,分享给大家供大家参考.具体如下: 1.PHP加密解密 PHP加密和解密函数可以用来加密一些有用的字符串存放在数据库里,并且通过可逆解密字符串,该函数使用了base64和MD5加密和解密. 复制代码 代码如下: function

SQLSERVER 时间函数汇总

1.求当天的年份 (getdate(): 2012/05/08 18:07:26)    SELECT YEAR(GETDATE())     --20122. 求当天的月份       SELECT MONTH(GETDATE())   --53. 求当天的日     SELECT DAY(GETDATE())      --84. 求年月日    SELECT CONVERT(VARCHAR,GETDATE(),112)  --结果:20120508    SELECT CONVERT(VA

Oracle函数+for循环

create or replace function FilterMinganci(str in varchar) return varchar2 is filterWorld varchar2(1000); keyCount int; begin filterWorld := str; keyCount := 0; select count(1) into keyCount from dic_keyword; for aa in (select keyword from dic_keyword

java调用oracle函数

今天写了个oracle函数,但但对java如何调用不是很明白. 今天写了个,并且成功运行了. Connection conn = null; CallableStatement cstmt = null; try { conn = this.getJdbcTemplate().getDataSource().getConnection(); cstmt = conn.prepareCall("{call AUTO_TENDER_NVL(?)}"); cstmt.registerOutP