Oracle 编写一个PL/SQL块来确定服务时间最长的员工开始工作的那一周(工作日或周末)
编写PL/SQL块以确定一周中的哪一部分(工作日或周末)Oracle 编写一个PL/SQL块来确定服务时间最长的员工开始工作的那一周(工作日或周末),oracle,plsql,Oracle,Plsql,编写PL/SQL块以确定一周中的哪一部分(工作日或周末) 服务时间最长的员工开始工作如果让我猜的话,我会说这是工作日,因为绝大多数员工都不会在周末开始工作。我想我不知道有谁的第一个工作日是周六或周日 无论如何:根据Scott的EMP表,以下是数据的外观(日期格式为dd.mm.yyyy): longestCTE查找最小的hiredate,并使用英语将其“转换”为日名(以便我以后可以使用它)。最后一个查询只是检查当天的情况并显示结果 SQL> with longest as 2 (s
服务时间最长的员工开始工作如果让我猜的话,我会说这是工作日,因为绝大多数员工都不会在周末开始工作。我想我不知道有谁的第一个工作日是周六或周日 无论如何:根据Scott的
EMP
表,以下是数据的外观(日期格式为dd.mm.yyyy
):
longest
CTE查找最小的hiredate
,并使用英语将其“转换”为日名(以便我以后可以使用它)。最后一个查询只是检查当天的情况并显示结果
SQL> with longest as
2 (select min(hiredate) min_hiredate,
3 to_char(min(hiredate), 'dy', 'nls_date_language=english') day
4 from emp
5 )
6 select min_hiredate,
7 day,
8 case when day in ('sat', 'sun') then 'weekend'
9 else 'weekday'
10 end result
11 from longest;
MIN_HIREDA DAY RESULT
---------- ------------ ----------
17.12.1980 wed weekday
SQL>
这显然是SQL。既然您已经知道了怎么做,请将其转录到PL/SQL。您的问题是什么?欢迎来到SO社区。我们在这里帮助您解决您遇到的特定问题,但这不是一项代码编写服务。请参加考试并复习。至少,您必须发布表定义(ddl),样本数据为文本-无图像,以及该数据的预期输出,以及您尝试过的内容和您遇到的问题。
我想我不知道有哪个灵魂的第一个工作日是周六或周日。
--Lol。。但是,在大多数阿拉伯国家,周末并不一定包括星期六或星期天。查询可能需要更改,但如果您知道在那个特定的国家哪些天代表“周末”,这应该不是问题。
SQL> with longest as
2 (select min(hiredate) min_hiredate,
3 to_char(min(hiredate), 'dy', 'nls_date_language=english') day
4 from emp
5 )
6 select min_hiredate,
7 day,
8 case when day in ('sat', 'sun') then 'weekend'
9 else 'weekday'
10 end result
11 from longest;
MIN_HIREDA DAY RESULT
---------- ------------ ----------
17.12.1980 wed weekday
SQL>