您好:
如下語法,請問 日期從2022-09-01 開始
到 2024-08-31 ,應該滿2年 ?
還是要到2024-09-01 才算滿兩年
我目前是用 除以365
但若有閏月等 ,應該就不准了
請問前輩,大多用什麼方式來算年資
select ( DATEDIFF(DAY, '2022-09-01 00:00:00' , '2024-08-30 23:59:59') ) /365.000 ,
( DATEDIFF(DAY, '2022-09-01 00:00:00' , '2024-08-31 23:59:59') ) /365.000 ,
( DATEDIFF(DAY, '2022-09-01 00:00:00' , '2024-09-01 23:59:59') ) /365.000
結果
2.1.9972602, 2.0000000, 2.0027397
謝謝
一般來說,如果是依勞基法來計算,其還分成了曆年制及週年制。
曆年制就是依每年的01/01為結算週期。
大多數的大型企業或是員工很多的。都會用此計算。
週年制則是依你到職日開始計算年資,結算日也是你的到職日。
至於閏年的問題。也就是多了2/29號。一般基本是不考量其計算。
一切都是依結算日來統計你的年資。
您好:
目前是要算周年制的
現在有想到用 除以12 來算
不知道這是否正確
select ( DATEDIFF(MONTH, '2022-09-01 00:00:00' , '2024-07-30 23:59:59') ) /12.000 ,
( DATEDIFF(MONTH, '2022-09-01 00:00:00' , '2024-08-31 23:59:59') ) /12.000 ,
( DATEDIFF(MONTH, '2022-09-01 00:00:00' , '2024-09-01 23:59:59') ) /12.000
/12.000 結果會呈現小數
/12 結果是整數(是否滿週年,這個方式ok)
不過如遇有留職停薪的週期需要納入扣除(尤其是多次留停人員)
您好:因為有想要去對照級距,所以 有小數點
留職停薪的週期 後序在想如何做
單純滿年資的SQL
-- 宣告變數
DECLARE @myDate DATETIME
-- 指定日期變數
SET @myDate = '2010-10-10 00:00:00'
SELECT DATEDIFF(YEAR, @myDate , GETDATE()) -
CASE WHEN MONTH(@myDate) > MONTH( GETDATE())
OR (MONTH(@myDate) = MONTH(GETDATE()) AND DAY(@myDate) > DAY(GETDATE()) )
THEN 1
ELSE 0
END