Oracel 数据库函数

-- Oracle 函数 学习

-- 数值函数 ,(四舍五入, 取整,常用计算,三角)

-- 1.四舍五入 round(n[,m]) ,省略m :表示 0 ;m>0 ;小数点后m位 ;m<0 : 小数点前m位

select round(23.4),round(23.45,1),round(23.45,-1) from dual;

-- 取整函数 CEIL(n)  取最大; FLOOR(n), 取整取最小

select ceil(23.45),floor(23.45) from dual;

-- 常用计算  

ABS(n) 取绝对值;

select abs(23.45),abs(-23),abs(0) from dual;

--MOD(m,n)  取余数 m 代表被除数, n为除数, 其中有一个为null 则结果为null

select mod(5,2) from dual;

-- POWER(m,n) 返回m的n次幂

select power(2,3),power(2,null) from dual;

--SORT(n)  平方根

select sqrt(16) from dual;


--========================--
-- 三角函数 SIN(n),ASIN(n) ,COS(n),ACOS(n),TAN(n),ATAN(n)
数值函数
--系统时间,日期操作

--系统时间 SYSDATE 默认格式DD-MON_RR 日月年

select sysdate from dual;

--日期操作 1 ADD_MONTHS(date,i)  返回在指定的日期上添加的月份 i可以是任何的整数,若是小数 会自动截取整数,若为负数,则是减去日期

select add_months(sysdate,2),add_months(sysdate,-3),add_months(sysdate,3.8) from dual;

-- 日期操作2  NEXT_DAY(date,char) 如果char的值是 星期一 返回的是date指定日期的下周一是哪天

select next_day(sysdate,'星期一') from dual;

-- 日期操作函数3 LAST_DAY(date) 返回某个月的最后一天是几号

select last_day(sysdate) from dual;

-- 日期操作函数4 MMONTHS_BEWTEEN(date1,date2) 返回两个日期之间相隔的月份

select months_between('20-5月-15','10-1月-15') from dual;

-- 日期操作函数 5 EXTRACT(date FROM datetime) 

select extract(day from sysdate),extract(month from sysdate),extract(year from sysdate) from dual;

select extract(hour from timestamp '2016-3-22 17:25:13') from dual;
日期函数
--日期转换成字符的函数

select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

select to_char(sysdate,'YYYY-MM-DD HH12:MI:SS') from dual

--字符转换成日期的函数 TO_DATE(char[,fmt[,params]]) params 用于指定日期的语言

select to_date('2016-03-24','YYYY-MM-DD') from dual;

-- 数字转换成字符的函数
--TO_CHAR(number,[fmt])

select to_char('12345.678','$99,999.999') from dual; 

-- 字符转换成数字的函数 TO_NUMBER(char[,fmt])

select to_number('$1,23456','$9999999') from dual;

select to_number('+1,23456','S9999999') from dual;
转换函数
 1 --=============字符函数的使用============--
 2 --大小写转换函数,获取字符串函数,字符串连接函数,去除子串函数,替换函数
 3 
 4 -- 大小写转换 UPPER(char) LOWER(char) INITCAP(char) 用途: 注册用户名时候不区分大小写
 5 
 6 select upper('abde'),lower('ADe'),initcap('ade') from dual;
 7 
 8 -- 获取子字符串函数 SUBSTR(char,[m[,n]]) .char :源字符串 m:开始的位置 n: 截取的位数  m可以从0开始,n可以省略
 9 -- m为负数,表示从尾部开始往后截取
10 
11 select substr('autocommit',2,3),substr('autocommit',2),substr('autocommit',-2,5) from dual;
12 
13 -- 获取字符串的长度 LENGTH(char)
14 
15 select length('abd'),length('abc  ') from dual;
16 
17 -- 字符串连接函数 CONCAT(char1,char2)  
18 
19 select concat('abd','xxx') from dual;
20 
21 -- 上面的等价于下面
22 
23 select 'abd'||'xxx' from dual;  
24  
25 -- 去除子串函数  TRIM(c2 FROM c1); 
26 
27 select trim('a' from 'abced') from dual;
28 
29 --LTRIM(c1[,c2])  c1中去除c2 只能去除一个
30 
31 
32 select ltrim('ababaa','a') from dual;
33 
34 -- RTIRM(c1[,c2])
35 
36 select rtrim('ababaa','a') from dual;
37 
38 -- TRIM(c1)  只有一个参数  去除两边空格 
39 
40 
41 -- 替换函数 REPLACE(char,s_string[,r_string])  省略r_string 则被空格替代
42 
43 select replace('abcde','a','A') ,replace ('abcde','a'),replace ('abcde','ab','A')from dual;
字符函数

 

posted @ 2016-03-24 21:25  慕童  阅读(301)  评论(0编辑  收藏  举报