oracle 内置函数
发布时间:2020-12-31 01:01:09 所属栏目:站长百科 来源:网络整理
导读:sql常用内置函数 --数学运算函数select abs(-10) from dual; --去绝对值select floor(1.1) from dual;--向下取整select ceil(1.1) from dual;--向上取整select ceil(-1.1) from dual;--向上取整select round(1.5) from dual;--四舍五入select sum(sal) fro
|
sql常用内置函数--数学运算函数
select abs(-10) from dual; --去绝对值
select floor(1.1) from dual;--向下取整
select ceil(1.1) from dual;--向上取整
select ceil(-1.1) from dual;--向上取整
select round(1.5) from dual;--四舍五入
select sum(sal) from emp;--统计数字和
select sqrt(4) from dual; --开方
select trunc('1234.5678',3) from dual;--截取小数点后几位
select trunc('1234.5678',-3) from dual;--截取小数点前几位
select dbms_random.string('P',10) from dual;--产生随机字符
select round(dbms_random.value()*100) from dual;--产生随机数
--转换类函数
select sysdate from dual;
select to_char(sysdate,'yyyy-MM-dd') from dual;--转换日期
select to_char(sysdate,'day') from dual;--转换星期
select to_char(sysdate,'HH24:mi:ss') from dual;--转换时间
select to_char(sysdate,'"公元"yyyy"年"mm"月"dd"日"') from dual;--转换日期,用双引号引入中文,整个内容包含在一个单引号内
select to_char(1234.5678,'9999D99') from dual;--数字转换
select to_char(1234.5678,'000000D99') from dual;--数字转换,自动补0
select trim(to_char(1234.5678,'999999D99') ) from dual;--数字转换,自动补空格
select to_char('15','000') from dual;
select to_char('15','999') from dual;
select to_char('15','FM000') from dual; --去掉空格了
select to_char('15','FM999') from dual; --去掉空格了
--其他转换函数
select to_date('2019-08-15','yyyy-MM-dd') from dual;
select to_number('1001')+123 from dual;
--字符串函数
select instr('hello every','h') from dual;--有的话返回下标,没有的话返回0,从1开始
select trim(' a a a ') from dual;--去掉前后空格
select replace(' a a a ',' ','') from dual;--替换全部空格
select length('hello everyone') from dual;
select concat('hello','world') from dual;
select substr('hello everyone',2,2) from dual;--从2开始截取。截两个
--空值替换函数
select empno,ename,nvl(comm,'0.00') from emp;
select empno,nvl2(comm,'有奖金','无奖金') from emp;
使用内置函数查询的练习--1 找出不收取奖金或收取奖金低于100的雇员 select* from emp where empno not in (select empno from emp where comm>100); select * from emp where comm is null or comm<100; --2 显示正好为6个字符的雇员姓名 select ename from emp where length(ename)=6; --3 显示不带有R的雇员的姓名 select ename from emp where ename not like '%R%'; --4 显示所有雇员的姓名的前三个字符 select substr(ename,1,3) from emp; --5 显示所有雇员的姓名,用a替换所有A select replace(ename,'a','A') from emp; --6 显示在1981-7之后入职的所有雇员的姓名和加入公司的年份和月份 select ename,to_char(hiredate,'yyyy-MM') from emp where to_number(to_char(hiredate,'yyyy'))>1980 and to_number(to_char(hiredate,'MM'))>7; --7 列出按年薪排序的所有雇员的年薪 select ename,(sal+nvl(comm,'0.00'))*12 year_sal from emp order by year_sal desc; (编辑:安卓应用网_ASP源码网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
