DATA Step, Macro, Functions and more

SAS to SQL

Reply
Occasional Contributor
Posts: 7

SAS to SQL

 

Please help in the following SAS command to get it translated into SQL

 

if datepart(abc) <= datepart(xyz) <= datepart(abc)+7     

 

Thanks

Super User
Posts: 7,866

Re: SAS to SQL

Posted in reply to VinayakKankate

The datepart function can also be used in PROC SQL.

If

if datepart(abc) <= datepart(xyz) <= datepart(abc)+7;

appears as a standalone statement (without a then ....) in a data step, it is called a subsetting if, and can be done in SQL in a where condition. If abc or xyz are variables that are newly created in the SQL, use the "calculated" keyword.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Occasional Contributor
Posts: 7

Re: SAS to SQL

[ Edited ]
Posted in reply to KurtBremser

Hey KurtBremser,

 

 

Super User
Posts: 7,866

Re: SAS to SQL

Posted in reply to VinayakKankate

VinayakKankate wrote:

Hey KurtBremser,

 

 


Then you will have to look for functional equivalents of the datepart() function in the MS SQL Server documentation.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
SAS Super FREQ
Posts: 8,868

Re: SAS to SQL

Posted in reply to KurtBremser
You can also use BETWEEN with a WHERE. Does your SQL server support BETWEEN?
where datepart(xyz) between datepart(abc) and datepart(abc) + 7;

The DATEPART function is a SAS-specific function. So it will work in SAS Proc SQL. I do not know whether it will work in SQL server.

cynthia
Ask a Question
Discussion stats
  • 4 replies
  • 191 views
  • 0 likes
  • 3 in conversation