Oracle基本函数使用

--1. 分别使用ceil函数和floor函数返回3个指定小数(7.3  7  -7.3)的整数值
select ceil(7.3) from dual;
select ceil(7) from dual;
select ceil(-7.3) from dual;
select floor(7.3) from dual;
select floor(7) from dual;
select floor(-7.3) from dual;
--2. 将PI(3.1415926)的小数位数显示为2位
select round(3.14159262) from dual;
--3. 计算7的3次方的值

--4. 求7除以3的余数
--5.求20-200之间的一个随机整数


--1. 求字符串“student”的长度
select length('student') from dual;
--2. 连接“MY”和“book”两个字符串
selecty concat('MY','book') from dual; 
--3. 以大写方式显示“hello”字符串
selecty uooer('hello') from dual; 
--4. 将emp表中所有雇员的姓名以首字母大写的形式显示
selecty upper(ename) from emp; 
--5. 在字符串“my book”的左侧填充字符串“th”,使整个字符串的长度为10
selecty lpad('my book',10,'th') from dual; 
--6. 将字符串“abcd”按序翻译成“1234”,以此翻译字符串“jack”
selecty translate('jack','abcd','1234') from dual; 
--7. 分别求得字符“Z”、“H”、“D”和空格的ASCII值。
selecty ascll('Z') from dual; 
--8. 将7题中求得的ASCII值,返回成其对应的字符
selecty chr(97) from dual; 
--9. 在字符串“oracle 12c”中,从第3个字符开始查询字符串“1”第2次出现的位置
selecty instr('orcl 12c','c',3,2) from dual; 
--10. 在HR模式下,在employees表中检索雇员名称以字母“a”开头的员工信息,并将first_name字段的值转换成小写,将last_name字段的值转换为大写。
 
--11. 使用函数分别去掉字符串“####East####”左侧的“#”,“East     ”右侧的空格,和“####East####”左右两侧的“#”
selecty ltrim('####East####','#') from dual;
selecty rtrim('East     ') from dual;
selecty trim('#' from '####East####') from dual;
--12. 把字符串“Bad Luck Bad Gril”中的“Bad”字符串用“Good”替换
selecty replace('Bad Luck Bad Gril','Bad','Good') from dual; 
--13. 在字符串“MessageBox”中从第8个位置截取长度为3的子字符串。
selecty substr('MessageBox',8,3) from dual; 

SHOW USER;
SELECT * FROM emp;
1. 显示满40年服务年限的员工的姓名和雇佣日期
select ename,hiredate from emp where months_between(sysdate, hiredate)/12>=40;
2. 以年月日的方式显示所有员工的服务年限
select ename,trunc(months_between(sysdate,hiredate)/12),
trunc(mod((months_between(sysdate,hiredate)),12)),
trunc(sysdate-add_months(hiredate,months_between(sysdate,hiredate)))from emp;
3. 使用函数显示姓名字段的任何位置包含’A’的所有员工的姓名
select ename from emp where ename like '%A%';
4. 对于每个员工,显示其加入公司的天数
select ename,trunc(months_between(sysdate,hiredate)) 加入公司天数 from emp;
5. 找出在任意年份2月受聘的所有员工
select * from emp where to_char(hiredate,'mm')=2;
6. 显示所有员工的姓名,用a代替A
select replace(ename,'A','a') name from emp;
7. 显示所有员工姓名的前三个字符
select substr(ename,3) name from emp;
8. 以首字母大写的方式显示员工的姓名
select substr(ename,0) name from emp;
9. 显示不带有’R’的员工姓名
select ename from emp where ename not like '%R%';
select ename from emp where instr(ename,'R')=0;
10. 找出各月倒数第3天受雇的所有员工
select * from emp where  last_day(hiredate)-2=hiredate;
11.统计每年雇佣的人数
SELECT to_char(hiredate,'yyyy') year,COUNT(empno) FROM emp group by to_char(hiredate,'yyyy');

alter session set container=pdborcl;
alter pluggable database pdborcl open;
select first_name,lower(first_name),upper(last_name) from hr.employees where first_name like 'A%';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值