码迷,mamicode.com
首页 > 数据库 > 详细

oracle数据库内置函数之数值函数、字符函数、日期函数、转换函数及其在查询语句中的运用

时间:2015-08-21 15:37:03      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

数值函数:
	1、四舍五入函数round() from dual:一行一列组成
	select round(23.4) from dual;--默认不写m表示m为0
	select round(23.45,1) from dual;--1表示保留小数点后一位,那么是小数点的第二位四舍五入
	select round(23.45,-1) from dual;---1表示小数点前一位四舍五入取整,前一位是3四舍五入为20
	
	2、取整函数:
	select ceil(23.45),floor(23.45) from dual;
	
	3、常用计算:
	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;
		select mod(5,null) from dual;
	power(m,n):表示返回m的n次幂
		select power(2,3),power(null,2) from dual;
	sqrt(n):求平方根的函数
		select sqrt(16) from dual;
	4、三角函数:
	sin(n),asin(n):n代表弧度
	select sin(3.14) from dual;
	cos(n),acos(n);
	
字符函数:
	1、大小写转换函数:upper(char),lower(char),initcap(char),把首字母转为大写
		select upper('abcde'),lower('ADe'),initcap('asd') from dual;
	2、获取子字符串函数:substr(char,[m[n]]),n如果省略代表从m截取到字符串的末尾
			m为0表示从字符串的首字母开始截取
			m为负数表示从字符串的尾部开始截取
		select substr('abcde',2,3);substr('abcde',2),substr('abcde',-2,1) from dual;
	3、获取字符串长度的函数:length(char)
		select length('abc ') from dual;
	4、字符串连接函数:concat(char1,char2);与||操作符的作用一样
		select concat('ab','cd') from dual;
		select 'ab' ||'cd' from dual;
	5、去除子串函数:trim(c2 from c1),c2是一个字符,c1是字符串
		select trim('c' from 'cdccec') from dual;--dcce,去除左右2边是c开始的字符
		select trim('c' from 'ccdd') from dual;--dd
		ltrim(c1[,c2]);c1是字符串,c2是字符,从头部去除一个字符
		rtrim(c1[,c2]):
		trim(c1):代表去除左右2边的空格
		ltrim(c1):只有一个参数的话代表去除左边的空格
		rtrim(c1):只有一个参数的话代表去除右边的空格
		
	7、替换函数replace()	
		select replace('abcde','a','A')from dual
		
		select replace('abcde','a')from dual;--替换为空格
		select replace('abcde','ab',A) from dual;
日期函数:
	系统时间函数:SYSDATE  默认格式DD-MM-YY(日月年)
		ADD_MONTHS(date,i):select add_months(sysdate,3),add_months(sysdate,-3) from dual;
		NEXT_DAY(date,char):select next_day(sysdate,'星期一') from dual;
		LAST_DAY(char):select last_day(sysdate) from dual;
		MONTHS_BETWEEN(char1,char2):计算2个日期之间间隔的月份
		select months_between('20-5月-15','10-1月-15') from dual;
		
		
	日期操作函数:
		获取年份、月份、日期、小时
		提取指定日期部分的函数
		select extract(year from sysdate) from dual;
		select extract(month from sysdate) from dual;
		select extract(day from sysdate) from dual;
		select extract(hour from timestamp '2015-10-1 17:22:22') from dual;
转换函数:
	日期转换为字符的函数
		TO_CHAR(date[,fmt[,params]]):date:将要转换的日期、fmt:转换的格式、params:日期的语言
		默认是DD-MM-YY
		select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;//默认最后一个参数不写
		
	字符转换为日期的函数
		TO_DATE(char[,fmt[,params]]):
		select to_date('2015-05-22','YYYY-MM-DD') FROM DUAL;
		//注意:to_date()按照系统默认的格式显示日期
	数字转换为字符的函数
		select to_char(12345.678,'$99,999.999') from dual;
		
	字符转换为数字的函数
		TO_NUMBER(char[parms]);
		select to_number('$1,000','$9999') from dual;
在查询语句中使用函数时输出结果的特殊改变不会影响到数据库中的值

在员工信息表中查询出员工的生日
	select substr(cardid,7,8) from users;
将部门号01全部替换成信息技术
	select replace(deptno,'01','信息技术') from users;
将员工信息表中的年龄字段与10取余
	select mod(age,10) from users;
取得员工入职的年份
	select extract(year from regdate) from users;
查询出5月份入职的员工信息	
	select * from users where extract(month from regdate)=5;
	
	
	

版权声明:本文为博主原创文章,未经博主允许不得转载。

oracle数据库内置函数之数值函数、字符函数、日期函数、转换函数及其在查询语句中的运用

标签:

原文地址:http://blog.csdn.net/u012110719/article/details/47835307

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!