BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
bbarn
Fluorite | Level 6

I am looking to convert a varchar date(Date2) in PROC SQL to for use in a query without stepping the table.  The varchar is in YYYYMMDD format in the SELECT  and I need to convert it to date9. so I can use it in a WHERE clause on the first CREATE TABLE.  The converted date needs to be compatible with an INTNX statement.

 

proc sql;

 

create table blahblah as

 

select Date2,

           column1,

           column2,

from xxx.xxxx

where Date2 GE intnx('day',today(),-3,'same'

 

 

Any help much appreciated.

1 ACCEPTED SOLUTION
2 REPLIES 2
Tom
Super User Tom
Super User

If you don't need to convert the variable to a date but want change the WHERE clause you could replace the date value with the equivalent string by using macro code.  So one of these:

 

where Date2 GE "%sysfunc(intnx(day,%sysfunc(today()),-3),yymmddn8.)"
where Date2 GE "%sysfunc(putn(%sysfunc(today())-3,yymmddn8.))"

The GE will work because strings in YYYYMMDD order sort lexicographically in the same order as the dates they represent sort chronologically.