Try this..
Create table tblDateDifference(diffby nvarchar(50),startdate Date ,endDate Date )
Insert into tblDateDifference(diffby,startdate,endDate) values('month','2022-01-29','2023-05-29')
Insert into tblDateDifference(diffby,startdate,endDate) values('year','2022-06-29','2023-01-29');
Insert into tblDateDifference(diffby,startdate,endDate) values('month','2020-01-19','2023-01-29');
Insert into tblDateDifference(diffby,startdate,endDate) values('year','2022-11-29','2023-01-29');
Insert into tblDateDifference(diffby,startdate,endDate) values('Days','2022-01-29','2023-01-29');
Select diffby,case when diffby='month' then dateDiff(month,startDate,endDate)
when diffby='year' then dateDiff(year,startDate,endDate)
else dateDiff(day,startDate,endDate) end Datedifference,startdate,enddate
from tblDateDifference