oracle 函数、聚焦函数
oracle 常用的函数 以及 聚焦函数
--1,字符函数 --当没有表可以用个的时候oracle自带一个虚表dual -- || 表示连接符号 将字符串连接到一起 式显示 Lower(char):将字符串转化为小写格式 ?将所有员工的名字按小写的方 select lower(ename),lower(job) from emp; Upper(char):将字符转化为大写的格式 select upper('abcd') from dual; Length(char):返回字符串的长度 ?显示正好为5个字符员工的姓名 select * from emp where length(ename)=5; Substr(char,m,n):取字符串的子串,m:表示开始的位置; n:要截取的字符个数 ?显示所有员工姓名的前三个字符 select ename ,substr(ename,1,3) from emp; Trim,Ltrim,Rtrim:去掉查询结果中的空格(全,左,右) select '=='|| trim(' abc ') ||'==' from dual; ?以首字母大写的方式显示所有员工 select ename, substr(ename,0,1)||lower( substr(ename,2,length(ename)-1) ) from emp; Replace (char1,search_string,replace_string): 查询替换 ? 显示所有的员工姓名将A替换成“我是A” select ename, replace(ename,'A','我是A')as result from emp; Instr(char1,char2,[,n[,m]]):取字符串的位置;n:开始位置,m:第m个char2的位置 ? 从第1个字符开始找到员工姓名中第二个A所在的位置 select ename, Instr(ename,'A',1,2) from emp; --2,数学函数 Round(n,[m]):四舍五入。 如果省掉m,则四舍五入到整数;如果m是整数,则四舍五入到小数点后的m位后,如果是m负数,则 四舍五入到小数点m位前 ? 73.2564 四舍五入到小数点后2位 select round(73.2564,2) from dual; trunc(n,[m]):用户截取数字。 如果省略m,就截去小数部分,如果m是整数就截取到小数点后m位后,如果m是负数,则截取到小数点的前m位 ? 73.2564 截取到小数点后3位 select trunc(73.2564,3) from dual; Mod(n,[m]):取模 ? 8%3=? select mod(8,3) from dual; Floor(n):向下取整 ? 7.5846 向下取整 Ceil(n):向上取整 ?7.5846 向上取整 select floor(7.1289) ,Ceil(7.1289) from dual; --2,其他函数 Abs(n) 返回数字n的绝对值 Acos(n) 返回n的反余弦值 Asin(n) 返回n的反正弦值 Atan(n) 返回n的反正切值 Cos(n) 返回n的余弦 Exp(n) 返回e的次幂 Log(m,n) 返回对数 Power(m,n) 返回m的n次幂 --3,日期函数 1 sysdate : 返回系统时间 select sysdate from dual; 2 current_date :返回当前时间 select current_date from dual; 3 Next_day(date,week) :给定时间的下一个星期是几号 /*week 数字和英文*/ select next_day(sysdate,'MONDAY') from dual; 4 add_months(d,n):返回在时间d上加n个月的时间 select add_months( sysdate,12 ) from dual; 5 last_day(d): 返回指定日期所在月份的最后一天 select last_day( sysdate) from dual; 练习: ?查找已经入职362个月多的员工 ?显示满30年份服务年限的员工的姓名和受雇日期 ?每个员工加入公司的天数 ?下个星期一是多少号 ?找出各月倒数第三天受雇的所有员工 --4,转换函数 时间---->字符 字符---->数字 字符---->时间 --4.1、to_char( 时间,格式) --时间格式: yyyy :显示年份 yy :显示年份后2位 mm :月份 dd :号 hh /hh24 :小时 mi :分 ss :秒 Eg:select to_char(sysdate,'yy-mm-dd hh24:mi:ss') from dual; --货币格式: 9 :显示数字 0 :不足则补0 . :显示小数点 ,: 显示分隔符 $ : 显示美元符号 L : 显示本地货币 C : 显示国际货币符号 G : 制定位置显示分割符号 D : 制定位置显示小数点符号 ?薪水指定货币符号 Eg: 8756984.555 $8,756,984.555 $9,999,999.99 L9,999,999.99 select to_char(8756984.5,'L9,999,999.99') from dual; select to_char(8756984.5,'$9G999G999D99') from dual; --4.2、字符转日期 to_date('2010-10-10','yyyy-mm-dd')----------------- Eg: select to_date('2017-2-27','yyyy-mm-dd') from dual; (insert into emp values( 9900, 'ZHANGSAN','CLERK',7698,to_date('2010-10-10','yyyy-mm-dd'),2500.00, 0.00,30);) --4.3、字符转数字 To_number(‘’)------------------------------------- select to_number('')*8 from dual; --5,聚集函数 count,sum,avg,max,min -------------------------------- --5.1、count ---统计总行数 select count(*) from emp; select count(empno) from emp; --统计员工总人数 --5.2、sum-----统计总和 select sum(sal) as total from emp; --统计所有人员的工资总和 --5.3、avg-----统计平均数 select avg(sal) from emp; --统计所有人员的工资平均值 --5.4、max--最大值---min最小值 select max(sal) as maxSal ,min(sal) as minSal from emp; ------聚合函数不能放到where 作为条件 select * from emp where sal avg(sal); --错; select * from emp where sal>(select avg(sal) from emp);---对 --6,显示当前用户- select user from dual; --7,decode 布尔判断函数 ------ --eg:查询出CLERK 的人员数量(如果job是clerk则输出1) select sum( decode(job,'CLERK',1,0) ) from emp; --eg:查询各个工种有多少人 select sum( decode(job,'CLERK',1,0) ) as CLERK, sum( decode(job,'SALESMAN',1,0) ) as SALESMAN, sum( decode(job,'MANAGER',1,0) ) as MANAGER, sum( decode(job,'ANALYST',1,0) ) as ANALYST, sum( decode(job,'PRESIDENT',1,0) ) as PRESIDENT,count(*) as total from emp; --8,nvl(column,default) 非空----------------------------------- --eg:emp表中所有员工在元奖金的基础上增加50元奖金 update emp set comm=nvl(comm ,0 ) +50 ; --如果comm为空,就输出0,不为空就输出本身值
oracle 函数、聚焦函数的更多相关文章
- Oracle 中 decode 函数用法
Oracle 中 decode 函数用法 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译 ...
- 重写Oracle的wm_concat函数,自定义分隔符、排序
oracle中,wm_concat函数是一个聚合函数,和mysql中的group_concat函数类似,不过group_concat函数比较强大,可以定义分隔符和排序,当然所谓强大是相对的,这里假使我 ...
- Oracle日期时间函数大全
ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits ...
- oracle:sql函数
Oracle将函数大致分为单行函数,聚合函数和分析函数. 单行函数分为字符函数,日期函数,转换函数,数字函数,通用函数,decode函数 一.字符函数 1)大小写控制函数 01.Lower() 全部小 ...
- Oracle过程及函数的参数模式,In、out、in out模式
Oracle过程及函数的参数模式 In.out.in out模式 在Oracle中过程与函数都可以有参数,参数的类型可以指定为in.out.in out三种模式. 三种参数的具体说明,如下图所示: ( ...
- oracle的substr函数的用法
oracle的substr函数的用法 取得字符串中指定起始位置和长度的字符串 substr( string, start_position, [ length ] ) 如: substr( ...
- Oracle nvl(),nvl2()函数介绍
NVL函数 Oracle/PLSQL中的一个函数. 格式为: NVL( string1, replace_with) 功能:如果string1为NULL,则NVL函数返回replace_with的值, ...
- Oracle LPAD/RPAD函数在处理中文时的注意事项
首先看下Oracle官方对函数的定义: The RPAD function returns an expression, right-padded to a specified length with ...
- oracle wm_concat(column)函数的使用
oracle wm_concat(column)函数使我们经常会使用到的,下面就教您如何使用oraclewm_concat(column)函数实现字段合并,如果您对oracle wm_concat(c ...
随机推荐
- 20170228 METHOD handle_data_changed-
CALL METHOD er_data_changed->add_protocol_entry METHOD handle_data_changed. DATA: ls_modi TYPE ...
- jquery.validate ajax验证
$("#form1").validate({ rules: { ctl00$ContentPlaceHolder1$txtShopName: { remote: { type: & ...
- Java DES加密解密
import javax.crypto.Cipher; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpe ...
- 学习js所必须要知道的一些
1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->html->(head,body) 4. ...
- SpringBoot使用logback日志记录
在resources里的配置文件: logback-spring.xml <?xml version="1.0" encoding="UTF-8" ?&g ...
- ES6 数组的解构赋值
数组的解构赋值 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 以前,为变量赋值,只能直接指定值. let a = 1; let b = ...
- Oracle:imp导入imp-00000问题
现场环境:window2008 . oracle11.2g .客户端安装的是oracle10g一个简洁版 34M的. 在imp导入时,提示 Message 100 not found; No mes ...
- 如何快糙好猛的使用Shiqi.Yu老师的公开人脸检测库(附源码)
前言 本次编写所用的库为于仕祺老师免费提供的人脸检测库.真心好用,识别率和识别速度完全不是Opencv自带的程序能够比拟的.将其配合Opencv的EigenFace算法,基本上可以形成一个小型的毕业设 ...
- ndoejs后台查询数据库返回的值-进行解析
JSON.parse(jsonstr); //可以将json字符串转换成json对象 JSON.stringify(jsonobj); //可以将json对象转换成json对符串
- (水题)洛谷 - P1003 - 铺地毯
https://www.luogu.org/problemnew/show/P1003 一开始觉得是用树套树来区间修改单点查询,但是发现空间不够开. 看了题解发现这个是静态的问题,而且只问一个点的结果 ...