在 sql 查询中提取月份
extract month in sql query
可以在员工table(部门50、60、 80)?
提示:1 月是第 50、60 和 80 部门雇用员工的月份。
table中的数据可能是这样的
Hiredate Department_id
29-JAN-97 50
03-JAN-90 60
29-JAN-00 80
您编写的 SQL 的输出应该产生如下内容:
Month Name
------------------
January
我真的不知道从哪里开始。请帮忙!
要从 hiredate
列获取 departments
列表的 MONTH NAME,请使用 TO_CHAR 与 Month format
.
请阅读文档以了解有关 Format models and datetime format elements.
的更多信息
MONTH -- Name of month, padded with blanks to length of 9 characters.
例如,
SELECT DISTINCT TO_CHAR(hiredate, 'Month') Month_name, department_id dept
FROM employees
WHERE department_id IN (50, 60, 80);
select mth "Month"
from (
select distinct department_id, to_char(hire_date, 'Month') mth
from employees
where department_id in (50, 60, 80) )
group by mth
having count(1)=3
内部查询在每个部门中选择不同的月份。
现在您只需要计算这些月份并显示 count
= 3 的行。这是在外部查询中使用 group by
和 having
完成的。
可以在员工table(部门50、60、 80)?
提示:1 月是第 50、60 和 80 部门雇用员工的月份。
table中的数据可能是这样的
Hiredate Department_id
29-JAN-97 50
03-JAN-90 60
29-JAN-00 80
您编写的 SQL 的输出应该产生如下内容:
Month Name
------------------
January
我真的不知道从哪里开始。请帮忙!
要从 hiredate
列获取 departments
列表的 MONTH NAME,请使用 TO_CHAR 与 Month format
.
请阅读文档以了解有关 Format models and datetime format elements.
的更多信息MONTH -- Name of month, padded with blanks to length of 9 characters.
例如,
SELECT DISTINCT TO_CHAR(hiredate, 'Month') Month_name, department_id dept
FROM employees
WHERE department_id IN (50, 60, 80);
select mth "Month"
from (
select distinct department_id, to_char(hire_date, 'Month') mth
from employees
where department_id in (50, 60, 80) )
group by mth
having count(1)=3
内部查询在每个部门中选择不同的月份。
现在您只需要计算这些月份并显示 count
= 3 的行。这是在外部查询中使用 group by
和 having
完成的。