查询所有员工入职以来的工作期限,用“**年**月**日”的形式表示??
怎么写啊?
怎么写啊?
解决方案 »
- 请教 在连接到数据库服务器的客户端中怎么获取awrrpt.sql的路径呀?
- 发现一款连接Oracle数据库的工具:----- Object Browser ,散分中。。。
- 如何用powerdesigner重oracle数据库反转生成概念数据模型?
- 请教一个用户连接的问题。
- 再开:oracle中如何实现以下功能?
- 请大家看这个问题
- 视图的效率和动态SQL得比较??希望得到各位的解答,参与有分!!!
- 初学者:ORACLE Developer报表编辑器中字段前的图标是什么意思?
- 外资保险公司托我寻找数名oracle DBA,只限上海
- 简单的sql问题,关于两个表联合查询的,大家帮我看看,急!!!
- 救命啊!!! oracle 匿名块!!!
- SQL语句问题
select to_char(sysdate-startdate,'yyyy')||'年'||to_char(sysdate-startdate,'yyyy')||'月'||to_char(sysdate-startdate,'yyyy')||'日' from emp一下是我的运行结果
SQL> ed
已写入文件 afiedt.buf 1 select to_char(sysdate-hiredate,'yyyy')
2 ||
3 '年'
4 ||
5 to_char(sysdate-hiredate,'yyyy')
6 ||
7 '月'
8 ||
9 to_char(sysdate-hiredate,'yyyy')
10 ||
11 '日'
12* from emp
SQL> /
select to_char(sysdate-hiredate,'yyyy')
*
ERROR 位于第 1 行:
ORA-01481: 无效的数字格式模型
顺便再问个问题,还是关于sql语句的 利用oracle自带的scott数据库中的emp和dept表查询平均工资低于2000的部门及其员工信息。
*
ERROR 位于第 1 行:
ORA-01821: 日期格式无法识别
但我要的就是sysdate减去hiredate(入职日期)的结果啊~
比如当前时间是2009年5月10日,日志日期是2000年1月1日
查询的结果显示的应该是9年4月9月
正确的做法如下:
select (to_number(to_char(sysdate,'yyyy'))-to_number(to_char(hiredate,'yyyy')))
||'年'|| (to_number(to_char(sysdate,'mm'))-to_number(to_char(hiredate,'mm')))
||'月' || (to_number(to_char(sysdate,'dd'))-to_number(to_char(hiredate,'dd')))
||'日'
from table,dual;
2.查询平均工资低于2000的部门及其员工信息
3.查询所有员工中工资排序在5到10名之间的员工信息
这三个怎么做啊?其中第二个
查询平均工资低于2000的部门信息
select * from dept where deptno in (select deptno from emp group by deptno having avg(sal)<2000)
这样做可以执行~
查询部门及其员工信息
select dname,dept.deptno,loc,empno,ename,job,sal from emp right join dept on dept.deptno=emp.deptno
把emp表有连接到dept表上 这样也可以运行
但是怎么把这两个条件加起来啊??