❶ sql 急求工龄计算语句
写了一个函数,可以帮助大家 计算工龄。调用方式 select fn_GetWorkYear('2015-10-10','2019-03-20')。
create function [dbo].[fn_GetWorkYear]
(
@beginday datetime, --开始日期
@endday datetime --结束日期
)
returns int
as
begin
if @beginday > @endday
begin
return 0;
end
declare @workyear int
select @workyear = datediff(year, @beginday, @endday)-1--年份差值
if datepart(month, @endday) > datepart(month, @beginday)--月份超过
begin
select @workyear = @workyear + 1
end
if datepart(month, @endday) = datepart(month, @beginday)--月份一样
begin
if datepart(day, @endday) >= datepart(day, @beginday)--日超过
begin
select @workyear = @workyear + 1
end
end
return @workyear ;
End
GO
❷ 使用sql计算各部门员工平均年龄
select 部门名,avg(年龄) from 表名
group by 部门名
❸ SQL语句如何根据出生日期计算年龄、工作时间计算工龄
那个窗口改不了了
select convert(datetime,case Len(Rtrim(C)) when 15 then '19' + SubString(C,7,2) + '-' + SubString(C,9,2) + '-' + SubString(C,11,2) when 18 then SubString(C,7,4) + '-' + SubString(C,11,2) + '-' + SubString(C,13,2) else A0111 end )
from A
查出的结果都是日期格式吗?如果不是说明C列有数据不对
select datediff(year,convert(datetime,case Len(Rtrim(C)) when 15 then '19' + SubString(C,7,2) + '-' + SubString(C,9,2) + '-' + SubString(C,11,2) when 18 then SubString(C,7,4) + '-' + SubString(C,11,2) + '-' + SubString(C,13,2) else A0111 end
),getdate())
from C
又怎么样
再就是B列的数据类型是什么?
❹ 计算员工年龄 计算员工退休日期
C4=DATEDIF(B4,TODAY(),"Y")
D14=EDATE(C14,55+(B14="男")*5) 然后抄设置单元格格式为日期格式。或者直接
D14=TEXT(EDATE(C14,55+(B14="男")*5),"YYYY-MM-DD")
❺ SQL语句:计算一个员工的工龄,计算方法:是要这个员工入职满一年,后的12月份开始计算
把你的表结构放出来可以不,通过什么字段去计算?具体的计算规格也详细说下
❻ SQL计算年龄
你好 你的问题不需要增加员工年龄这列
因为随着一年一年的时间,年龄是动态计算的
通常用内 系统时间-出生日期容 显示出来就可以了
Oracle
select round((sysdate - to_date('2008-01-01','YYYY-MM-DD'))/365,0)
from al
;
SQL查询一下联机帮助文档
❼ sql 工龄计算
这是我以前写的和你的这个差不多,你看一下,把你的专改改就OK了属:
select Age=case
when (month(hiredate)<month(getdate())) or (day(hiredate)<=day(getdate())
and month(hiredate) = month(getdate()))
then datediff(month,hiredate,getdate())
else
datediff(month,hiredate,getdate())-1 --否则减1
end
from emp where empno=11
❽ SQL语言计算职工表里的职工年龄
select datediff(yyyy,生日,getdate()) as 年龄
datediff是SQL的一个函数计算两个日期之间的差额
yyyy表示要计算的是年份的差额
生日就是生日的内字段容
getdate()是返回当前日期的函数
select 名字,datediff(yyyy,生日,getdate()) as 年龄 from worker
这样就全部都出来啦,哪用一个个的写啊!
❾ sql 请大神指教实现退休年龄。希望可以给出代码
sqlserver (case when 职位='普通员工' then '65' when 职位='普通员工' then '60' when 职位='普通员工' then '50' end) as 退休年龄