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: 6,977

Re: SAS to SQL

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 ]

Hey KurtBremser,

 

 

Super User
Posts: 6,977

Re: SAS to SQL


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,745

Re: SAS to SQL

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
  • 188 views
  • 0 likes
  • 3 in conversation