--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.1415926,2) 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%';
Oracle基本函数使用
最新推荐文章于 2023-12-13 08:59:59 发布