Sql 搜索特定年份雇佣的员工
我的练习是创建一个查询,以获取1998年7月至1999年12月期间雇用的员工列表。该列表必须包含员工id、姓氏和姓氏以及月薪,因为该表包含年薪,并且员工使用hr表架构每年获得12份工资 我写的是:Sql 搜索特定年份雇佣的员工,sql,oracle11g,Sql,Oracle11g,我的练习是创建一个查询,以获取1998年7月至1999年12月期间雇用的员工列表。该列表必须包含员工id、姓氏和姓氏以及月薪,因为该表包含年薪,并且员工使用hr表架构每年获得12份工资 我写的是: select employee_id, last_name, first_name, salary/12 as monthly_salary from employees where hire_date between ... and ... ; 我的问题是:我应该如何搜索雇佣日期,只搜索上面提到的
select employee_id, last_name, first_name, salary/12 as monthly_salary
from employees
where hire_date between ... and ... ;
我的问题是:我应该如何搜索雇佣日期,只搜索上面提到的月份和年份,例如1998年7月 如果您所拥有的只是年份和月份编号,并且正在查找该月份的第一个和最后一个日期,您可以通过
截止日期
和最后一个日期
功能轻松找到
SQL> select to_date('2013/03', 'YYYY/MM') first from dual;
FIRST
---------
01-MAR-13
SQL> select last_day(to_date('2013/03', 'YYYY/MM')) last from dual;
LAST
---------
31-MAR-13
使用这些函数在查询中生成边界日期
注意:您也可以使用
trunc(hire_-date,'MM')
,但这可能会阻止优化器在hire_-date
上使用索引,这是不可取的。在1999年7月1日到1999年12月31日之间
?我真的不明白你在管理什么。我需要找到从1999年7月到1999年12月雇佣的员工,没有日期,只有月份和年份。假设你在回答问题时删除了所有问题的细节,这样教授就无法在谷歌上搜索你在哪里找到他们了?where-hire\u date介于日期和日期之间(你的起始月)最后一天(截止日期(您的月末))
如果您做错了什么,那么当您将该查询粘贴到注释中时,该查询就会起作用。