intck() returns the number of interval boundaries. If the interval is year then the number of boundaries between 31Dec2020 and 01Jan2021 would be 1.
If you are really after the age then using the yrdif() function with basis 'age' is likely more what you're after.
%let todaysDate = %sysfunc(today());
PROC SQL;
CREATE TABLE WORK.QUERY_FOR_TABLE AS
SELECT
t1.SubscriberKey,
Datepart(t1.CustDOB) format date09. AS DOB format=date9.,
&todaysDate AS TodaysDate format=date9.,
floor(yrdif(Datepart(t1.CustDOB), &todaysDate,'age')) as Age
FROM
CASE.CUSTOMERS t1
;
QUIT;
yrdif() returns the age with a decimal component. Use floor() - or int() - to only get the integer part of the age.
... View more