i have a datetime format variable "2016-09-20T08:29" which is character format and another date "2016-05-04" character.
I need to check if both the dates are same for each record and using the code below.
proc sql;
create table rand_date as
select a.usubjid,a.RFSTDTC,b.SCDTC
from sdtm.dm a left join sdtm.sc b
on a.usubjid=b.usubjid
where (a.ARMCD ne "SCRNFAIL") and a.RFSTDTC ne b.SCDTC;
quit;
But due to different date formats it is not working.
can any one suggest how to proceed.
If they are both strings then this is simple string manipulation:
where (a.ARMCD ne "SCRNFAIL") and substr(a.RFSTDTC,1,10) ne b.SCDTC;
If they are a numeric date-time and a date then simply:
where (a.ARMCD ne "SCRNFAIL") and datepart(a.RFSTDTC) ne b.SCDTC;
If they are both strings then this is simple string manipulation:
where (a.ARMCD ne "SCRNFAIL") and substr(a.RFSTDTC,1,10) ne b.SCDTC;
If they are a numeric date-time and a date then simply:
where (a.ARMCD ne "SCRNFAIL") and datepart(a.RFSTDTC) ne b.SCDTC;
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.