189 8069 5689

oracle周末怎么写 oracle获取周一到周五

oracle每个月的周六周日排班算法怎么写

写个存储过程就可以了,排班不用想这么复杂。

创新互联-专业网站定制、快速模板网站建设、高性价比山西网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式山西网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖山西地区。费用合理售后完善,10年实体公司更值得信赖。

create or replace procedure

as

week varchar2(20);

nextday date;

begin

for v in (select * from worker) loop --worker:员工表

while (nextday=maxday) loop

select to_char(nextday, 'day') into week from dual;

if week '星期六' or week '星期日' then

insert into shift value(v.empname,nextday); --只为员工星期一到星期五排班,shift:排班表

end if;

select nextday+1 intio nextday from dual;

end loop;

end loop;

end;

oracle数据库中删除超过三天,不包括周六周日sql怎么写

你统计表中的 createdDate字段 必须是 date 类型

delete from table_name(表名)

where createdDate=sysdate-3

and to_char(createdDate,'d') not in ('1','7'):

Oracle sql 查询语句 分别查询工作日和周末数据

select count(id),sum(case when day='星期一' or day='星期二' or day='星期三' or day='星期四' or day='星期五' then 1 else 0 end) 工作日,sum(case when day='星期六' or day='星期日' then 1 else 0 end) 周末 from table

另外:我发现你的表中有重复值啊,这个怎么算,不管么?还是要去重?这张表(我说的是例子)似乎有点问题。

还应该由其他写法,暂时就想起这一种来。

oracle怎么计算两个日期之间去除周末的天数?

适用于SQL上下文环境

去掉的是周六/7,周日/1两天周末

具体SQL如下、这是避免日期格式本地化的版本

select count(1) from (

select to_char(TO_DATE('2016-12-24','yyyy-MM-dd') - level, 'd') DOW

from dual

connect by level = trunc(TO_DATE('2016-12-24','yyyy-MM-dd') - TO_DATE('2016-11-19','yyyy-MM-dd'))

) where DOW not in (7, 1);

总结:

第一层查询是通过connect by level生成两个日期间的天数行

其中to_char(,'d')DOW字段返回的是周几的对应1~7的数字

第二层查询就是去掉周六周日然后count天数

用 Oracle 存储过程编写一个简单的程序,要求

Oracle存储过程开发的要点是:

• 使用Notepad文本编辑器,用Oracle PL/SQL编程语言写一个存储过程;

• 在Oracle数据库中创建一个存储过程;

• 在Oracle数据库中使用SQL*Plus工具运行存储过程;

• 在Oracle数据库中修改存储过程;

• 通过编译错误调试存储过程;

• 删除存储过程;

二.环境配置

包括以下内容:

• 一个文本编辑器Notepad;

• Oracle SQL*Plus工具,提交Oracle SQL和PL/SQL 语句到Oracle database。

• Oracle 10g express数据库,它是免费使用的版本;


当前标题:oracle周末怎么写 oracle获取周一到周五
文章出自:http://cdxtjz.cn/article/hiopjh.html

其他资讯