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

数值函数:
	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;
	
	
	

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绝地反击T

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值