您好:
如下語法,請問 日期從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
單純滿年資的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
@melon playground 如果您希望更精確地計算年資(考慮到閏年等因素),可以使用以下方法:
直接計算天數:可以計算從2022年9月1日到2024年8月31日的總天數,然後除以365(或366,如果包括閏年)。
使用日期函數:如果您使用計算機軟體(如Excel)或編程語言(如Python),可以利用日期函數來計算兩個日期之間的年數,這樣會自動考慮閏年。