–1.查询员工ENAME的第三个字母是A的员工的信息(使用2个函数)。
select * from emp;
select * from emp where ename like ‘__A%’;
–2.将员工的参加工作日期按如下格式显示:月份/年份
select ename,to_char(hiredate,‘mm/yyyy’) from emp;
SELECT to_char
–3.计算2000年1月1日到现在有多少月,多少周(四舍五入)
select round(months_between(sysdate,to_date(‘2000-01-01’,‘yyyy-MM-dd’))) from dual;
select round((sysdate-to_date(‘2000-01-01’,‘yyyy-MM-dd’))/7) from dual;
–4.显示姓名、hiredate和雇员开始工作日是星期几(提示:使用to_char函数)
select ename,hiredate,to_char(hiredate,‘day’) from emp;
–5.写一个查询,用首字母大写,其它字母小写显示雇员的 全名,显示名字的长度,
–并给每列一个适当的标签,条件是满足所有雇员名字的开始字母是J、A 或 M 的雇员,并对查询结果按雇员的全名升序排序。
select ename,initcap(ename),length(ename) from emp where ename like ‘J%’ or ename like ‘A%’ or ename like ‘M%’ ;
–6.查询员工姓名中中包含大写或小写字母A的员工姓名。
select * from emp where ename like ‘%a%’ or ename like ‘%A%’ ;
–7.查询部门编号为10或20,入职日期在81年5月1日之后,并且姓名中包含大写字母A的员工姓名,员工姓名长度(提示,要求使用INSTR函数,不能使用like进行判断)
select ename,length(ename),hiredate from emp where hiredate>to_date(‘1981-05-01’,‘yyyy-MM-dd’) and instr(ename,‘A’)>0;
–8.查询每个职工的编号,姓名,工资要求将查询到的数据按照要求将查询到的数据按照定的格式合并成一个字符串.
select empno,ename,sal,
--前10位:编号,不足部分用填充,左对齐
lpad(empno,10,’’),
--中间10位:姓名,不足部分用填充,左对齐
lpad(ename,10,’’),
--后10位:工资,不足部分用填充,右对齐
rpad(sal,10,’’) from emp;
–9.查询员工一共入职多少天,当前时间-入职
select ename,hiredate,trunc(sysdate-hiredate) from emp;
–10.查询服务器当前时间
s