Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 搜索特定年份雇佣的员工_Sql_Oracle11g - Fatal编程技术网

Sql 搜索特定年份雇佣的员工

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 ... ; 我的问题是:我应该如何搜索雇佣日期,只搜索上面提到的

我的练习是创建一个查询,以获取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 ... ;

我的问题是:我应该如何搜索雇佣日期,只搜索上面提到的月份和年份,例如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介于日期和日期之间(你的起始月)最后一天(截止日期(您的月末))
如果您做错了什么,那么当您将该查询粘贴到注释中时,该查询就会起作用。