oracle中的函数及其应用
--、、、、、、、、、、、、、、常用的单行函数、、、、、、、、、、、、、、、、、、、、、、
------------------- 常用的字符函数 ----------------------
--initcap(char):首字母大写
select initcap('hello') from dual
--lower(char):转换为小写
select lower('LOVEy') from dual
--upper(char):转换为大写
select upper('love you') from dual
--ltrim(char,set):左剪裁
select ltrim('abc you','abc') from dual
--Rtrim(char,set):右剪裁
select Rtrim('abcyou','you') from dual
--translate(char,from,to):按字符翻译
select translate('jack','abcd','1234') from dual
---replace(char,search_str,replace_str):字符串替换
select replace('jack and jue','j','bl') from dual
--instr(char,substr[,pos]):查找第一个子串位置
select instr('worldwide','d') from dual
--substr(char.pos.len):取子字符串
select substr('abcdefg',3,2) from dual
--concat(char1,char2):连接字符串
select concat('hello ','world') from dual
------------------- 常用的数字函数 -----------------------
--ABS(n):取绝对值
select abs(-14) from dual
--ceil(n):向上取整
select ceil(123.43243155) from dual
--floor(n):向下取整
select floor(123.876) from dual
--sin(n):正弦
select sin(1.23) from dual
--cos(n):余弦
select cos(0) from dual
--sign(n):取符号
select sign(-32) from dual
--power(m,n):m的n次幂
select power(4,2) from dual
--mod(m,n):取余数
select mod(10,4) from dual
--round(m,n):四舍五入
select round(1254.435421,3) from dual
--trunc(m,n):截断
select trunc(100.256,1) from dual
--sqrt(n):v
select sqrt(4) from dual
------------------ orcle的时间函数 --------------
----months_between:返回两个日期之间的月份差距
select months_between(date'2005-04-05',date'2004-04-05') from dual
---add_months
select add_months(date'2005-04-05',1) from dual
---获得当前系统时间
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
select to_char(sysdate,'Q') from dual --季度
select to_char(sysdate,'dd') from dual --日期
select to_char(sysdate,'iw') from dual --周。每年有52或是53周
--next_day:返回指定日期后的星期对应的新日期
select next_day(date '2015-05-06','monday')from dual
--last_day:返回某月的最后一天
select last_day(date'2005-04-05') from dual
--round:按指定格式对日期进行四舍五入
select round(to_date(date '2015-02-04'),'year') from dual
select round(to_date(date '2015-02-04'),'month') from dual
select round(to_date(date '2015-02-04'),'day') from dual
----trunc:对日期按指定方式进行截断
select trunc(to_date(date '2015-02-04'),'year') from dual;
select trunc(to_date(date '2015-02-04'),'month') from dual;
select trunc(to_date(date '2015-02-04'),'day') from dual;
--------------- 常用的转换函数 -------------------
--- to_char :转换成字符串类型
select to_char(ADOPT_TIME,'yyyy"年"mm"月"dd"日"') from pet
select to_char(ADOPT_TIME,'yyyy"-"mm"-"dd') from pet
select to_char(ADOPT_TIME,'yyyy"/"mm"/"dd') from pet
select to_char(1234.5,'$9999.9') from dual
--to_date:转换成日期类型
select to_date('2015-03-04','yyyy-mm-dd') from dual
--to_number:转换成数值类型
select to_number('1234.6') from dual
--------------------- other -------------------------
--NVL(EXP1, EXP2):如果exp1的值为null,则返回exp2的值,否则返回exp1的值
select nvl(name,'无名') from pet
--NVL2(EXP1, EXP2, EXP3):如果exp1的值为null,则返回exp2的值,否则返回exp3的值
select nvl2(name,'aa','bb') from pet
---DECODE(VALUE,IF1,THEN1,IF2,THEN2,……,ELSE):如果value的值为if1,则返回then1的值,
--如果value的值为if2,则返回then2的值,……,否则返回else值
select decode(status,1,'正常',2,'禁用') from pet
---、、、、、、、、、、、、、、、、、、、、、 常用的多行函数 、、、、、、、、、、、、、、、、、、、、、
--SUM()、AVG()、COUNT()、MAX()、MIN()
oracle中的函数及其应用的更多相关文章
- Oracle 中 decode 函数用法
Oracle 中 decode 函数用法 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译 ...
- Oracle中wm_concat()函数的使用
Oracle中wm_concat()函数的使用 wm_concat()函数是oracle行列转换函数,该函数可以把列值以‘,’分割开来,并显示成一行. 1.原数据: 2.把结果分组以‘|’分隔,以一行 ...
- Oracle中trunc函数、round 函数、ceil函数和floor函数的使用
Oracle中trunc函数.round 函数.ceil函数和floor函数的使用 1.1trunc函数处理数字 trunc函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定 ...
- Oracle中REGEXP_SUBSTR函数(转)
Oracle中REGEXP_SUBSTR函数 Oracle中REGEXP_SUBSTR函数的使用说明: 题目如下:在oracle中,使用一条语句实现将'17,20,23'拆分成'17','20','2 ...
- Oracle中sign函数和decode函数的使用
Oracle中sign函数和decode函数的使用 1.比较大小函数SIGN sign(x)或者Sign(x)叫做 符号函数,其功能是取某个数的符号(正或负): 当x>0,sign(x)=1; ...
- oracle中extract()函数----用于截取年、月、日、时、分、秒
oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的部分 语法如下: extract ( { year | month | day ...
- oracle中使用函数控制过程是否执行(结合job使用)
oracle中使用函数控制过程是否执行(结合job使用时候,循环时间不好写的时候,可以此种方法比较方便) CREATE OR REPLACE FUNCTION wsbs_pk_date_validat ...
- Oracle中SYS_CONNECT_BY_PATH函数的妙用 ;
Oracle 中SYS_CONNECT_BY_PATH函数是非常重要的函数,下面就为您介绍一个使用SYS_CONNECT_BY_PATH函数的例子,实例如下: 数据准备: ),b )); ', 'A' ...
- oracle中floor函数和to_number函数区别
oracle中floor函数没有值默认是0,number函数没有值默认是空
- Oracle中REGEXP_SUBSTR函数(字符串转多行)
Oracle中REGEXP_SUBSTR函数 Oracle中REGEXP_SUBSTR函数的使用说明: 题目如下: 在oracle中,使用一条语句实现将'17,20,23'拆分成'17','20',' ...
随机推荐
- 数据库mysql优化方案
1.创建索引对于查询占主要的应用来说,索引显得尤为重要.很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致.如果不加索引的话,那么查找任何哪怕只是一条特定的数据 ...
- mysql分表和表分区详解
为什么要分表和分区? 日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表.这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能 ...
- SQL Server 通用分页存储过程
create proc commonPagination ), --要显示的列名,用逗号隔开 ), --要查询的表名 ), --排序的列名 ), --排序的方式,升序为asc,降序为 desc ), ...
- SSH的端口转发:本地转发Local Forward和远程转发Remote Forward
关于使用ssh portforwarding来进行FQ的操作,网络上已经有很多很好的文章,我在这里只是画两个图解释一下. 首先要记住一件事情就是: SSH 端口转发自然需要 SSH 连接,而 SSH ...
- 【译】RabbitMQ:发布-订阅(Publish/Subscribe)
在前一篇教程中,我们创建了一个工作队列,我们假设在工作队列后的每一个任务都只被调度给一个消费者.在这一部分,我们将做一些完全不一样的事情,调度同一条消息给多个消费者,也就是有名的“发布-订阅”模式.为 ...
- [刘阳Java]_MyBatis_动态SQL标签用法_第7讲
1.MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑. 2.MyBatis中用于实现动态SQL的元素主要有 if choose(when,otherwi ...
- python学习之——eclipse+pydev 环境搭建
最终选用 eclipse+pydev,网上相关资料也是极多的~~~ 1.安装python: 2.安装eclipse: 3.eclipse中安装pydev,eclipse中help—>eclipl ...
- [转] Oracle数据库备份与恢复 - 增量备份
转:http://blog.csdn.net/pan_tian/article/details/46780929 RMAN一个强大的功能是支持增量备份,增量备份中心思想就是减少备份的数据量,我们不 ...
- Hibernate自动建表问题
自动见表配置 <property key="hibernate.hbm2ddl.auto">update</property> 运行时出现了一下错误 org ...
- JVM常量池
常量池(constant_pool)指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据.它包括了关于类.方法.接口等中的常量,也包括字符串常量和符号引用.运行时常量池是方法区的一部分 ...