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()

时间: 2024-10-24 02:16:15

oracle中的函数及其应用的相关文章

Oracle 中 decode 函数用法

Oracle 中 decode 函数用法 含义解释: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 IFdecode(字段或字段的运算,值1,值2,值3) 这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值

Oracle中SYS_CONNECT_BY_PATH函数的妙用

在Oracle中,SYS_CONNECT_BY_PATH函数主要作用是可以把一个父节点下的所有子节点通过某个字符进行区分,然后连接在一个列中显示. AD: Oracle中SYS_CONNECT_BY_PATH函数是非常重要的函数,下面就为您介绍一个使用SYS_CONNECT_BY_PATH函数的例子,实例如下: create table test (a varchar2(10),b varchar2(10)); INSERT INTO TEST (A, B) VALUES ('1', '我');

oracle中extract()函数----用于截取年、月、日、时、分、秒

oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的部分 语法如下: extract ( { year | month | day | hour | minute | second } | { timezone_hour | timezone_minute } | { timezone_region | timezone_abbr } from { date_value | interval_value } ) 只可以从一个da

Oracle中REGEXP_SUBSTR函数(转)

Oracle中REGEXP_SUBSTR函数 Oracle中REGEXP_SUBSTR函数的使用说明: 题目如下:在oracle中,使用一条语句实现将'17,20,23'拆分成'17','20','23'的集合. REGEXP_SUBSTR函数格式如下:function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)__srcstr :需要进行正则处理的字符串__pattern :进行匹配的正则表达式__positio

oracle中nvl()函数

oracle的nvl函数的使用方法 通过查询获得某个字段的合计值,假设这个值位null将给出一个预设的默认值 select nvl(sum(t.dwxhl),1) from tb_jhde t where zydm=-1 这里关心的nvl的使用方法,nvl(arg,value)代表假设前面的arg的值为null那么返回的值为后面的value 如: NVL(a,b)就是推断a是否是NULL,假设不是返回a的值.假设是返回b的值 通过查询获得某个字段的合计值,假设这个值位null将给出一个预设的默认

Oracle中SYS_CONNECT_BY_PATH函数的使用

在Oracle中,SYS_CONNECT_BY_PATH函数主要作用是可以把一个父节点下的所有子节点通过某个字符进行区分,然后连接在一个列中显示. sys_connect_by_path(字段名, 2个字段之间的连接符号),注意这里的连接符号不要使用逗号,oracle会报错,如果一定要用,可以使用replace替换一下, 方法如下 REPLACE(字段名,原字符,','). 还有,这个函数使用之前必须先建立一个树,否则无用. select  length(mc),mc,length( repla

oracle中的函数

ORACLE中函数          Oracle已经内建了许多函数,不同的函数有不同的作用和用法,有的函数只能作用在一个记录行上,有的能够作用在多个记录行上,不同的函数可能处理不同的数据类型.常见的有两类,单行函数和分组函数 . 单行函数: 单行函数 分类 函数 功能 示例 字符函数 LPAD(<c1>,<i>[,<c2>]) 在字符串c1的左边添加字符串c2直到c1字符串的长度等于i. SELECT  LPAD('Hello!',9,1) leftpad,RPAD(

Oracle 中,函数如何返回结果集

在Oracle中,用函数返回结果集有时候要用到,下面是demo: create or replace type t_test as object ( id integer, create_time date, object_name varchar2(60) ); create or replace type t_test_table as table of t_test; 1.用数组的方式 create or replace function f_test(n in number defaul

关于oracle中table函数的使用

使用oracle的table函数,查询函数返回的结果集,就如同查询普通表一样查询返回的结果集. 说明:  1.表函数可接受查询语句或游标作为输入参数,并可输出多行数据. 2.该函数可以平行执行,并可持续输出数据流,被称作管道式输出. 3.应用表函数可将数据转换分阶段处理,并省去中间结果的存储和缓冲表. 优势:  1.一些复杂的公共信息,但通过建立视图又实现不了,此时可以考虑使用管道输出. 2.涉及运算较多,写个简单SQL实现起来较为麻烦,用table可以实现. 使用步骤:1.创建一个object

oracle中常用函数

1.oracle中 trunc 是截取的函数,用在日期类型上,就是截取到的日或时间. select trunc(sysdate) from dual   默认是截取系统日期到日,得到 2012-12-19 比如值为"2012-12-19 14:30:50" 的日期变量 trunc(sysdate)得到 2012-12-19  和 trunc(sysdate,'DD') 一样 trunc(sysdate,'YYYY')  得到 2012-1-1 trunc(sysdate,'MM')