计算员工的离职后前的天数
时间:2011-12-12
来源:互联网
create table Employees(员工编号,进厂时间,状态)--状态0为离职,大于0在职 insert into Employees('001','2010-12-2',0) insert into Employees('002','2011-12-12',1) insert into Employees('003','2011-10-12',3) create table EmployeesQuit(员工编号,离职时间) insert into EmployeesQuit('001','2012-12-4') --想要的结果 员工编号 天数 001 27 002 12
作者: chirea 发布时间: 2011-12-12
作者: qianjin036a 发布时间: 2011-12-12
数据对吗?
对的.是查询12月份的时要的结果.
作者: chirea 发布时间: 2011-12-12
作者: qianjin036a 发布时间: 2011-12-12
兄弟,"离职后前的天数",是离职后的天数,还是离职前的天数,还是离职后到当前日期的天数??
001,4号离职,计算4号到月底的天数
002 12号入职,计算入职前的天数.
作者: chirea 发布时间: 2011-12-12
create table Employees(员工编号 varchar(10),进厂时间 datetime,状态 int)--状态0为离职,大于0在职 insert into Employees values('001','2010-12-2',0) insert into Employees values('002','2011-12-12',1) insert into Employees values('003','2011-10-12',3) create table EmployeesQuit(员工编号 varchar(10),离职时间 datetime) insert into EmployeesQuit values('001','2012-12-4') go select 员工编号,datepart(d,进厂时间) 天数 from Employees where 状态=1 union all select 员工编号,datediff(d,离职时间,convert(varchar(8),dateadd(m,1,离职时间),120)+'01')-1 from employeesquit /* 员工编号 天数 ---------- ----------- 002 12 001 27 (2 行受影响) */ go drop table Employees,employeesquit
作者: qianjin036a 发布时间: 2011-12-12
怎么得到的?
作者: fredrickhu 发布时间: 2011-12-12
SQL code
create table Employees(员工编号 varchar(10),进厂时间 datetime,状态 int)--状态0为离职,大于0在职
insert into Employees values('001','2010-12-2',0)
insert into Employees values('002','2011-12-12',1)
insert i……
要用一个select
作者: chirea 发布时间: 2011-12-12
引用 5 楼 qianjin036a 的回复:
SQL code
create table Employees(员工编号 varchar(10),进厂时间 datetime,状态 int)--状态0为离职,大于0在职
insert into Employees values('001','2010-12-2',0)
insert into Employees values('002'……
你是两个表,用union all 就相当于一句.你尽可以把它当成一个 select 看待:
SQL code
select 员工编号,datepart(d,进厂时间) 天数 from Employees where 状态=1 union all select 员工编号,datediff(d,离职时间,convert(varchar(8),dateadd(m,1,离职时间),120)+'01')-1 from employeesquit
作者: qianjin036a 发布时间: 2011-12-12
SQL code
select 员工编号,datepart(d,进厂时间) 天数 from Employees where 状态=1 union all select 员工编号,datediff(d,离职时间,convert(varchar(8),dateadd(m,1,离职时间),120)+'01')-1 from employeesquit
作者: qianjin036a 发布时间: 2011-12-12
你是两个表,用union all就相当于一句查询语句,你可以这样看:
SQL code
select 员工编号,datepart(d,进厂时间) 天数 from Employees where 状态=1 union all select 员工编号,datediff(d,离职时间,convert(varchar(8),dateadd(m,1,离职时间),120)+'01')-1 from e……
我想在CASE WHEN 里面写,因为这个结果我要用来一个过程中的部份计算.
作者: chirea 发布时间: 2011-12-12
作者: qianjin036a 发布时间: 2011-12-12
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28