❶ 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 退休年齡