Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Convert Excel formula to SQL case statement

Posted on 2015-01-17
4
Medium Priority
?
874 Views
Last Modified: 2015-01-27
Can someone help me convert the following Excel IF statement to either a SQL case statement or MS-Query SQL statement:

CurMonth

=IF(MONTH(getdate())=1,
IF(MO=12,
IF(YR=YEAR(getdate())-1,1,0),0),
IF(MO=MONTH(getdate())-1,
IF(YR=YEAR(getdate()),1,0)))


CurYear

=IF(MONTH(getdate())=1,
IF(MO<=12,
IF(YR=YEAR(getdate())-1,1,0),0),
IF(MO<=MONTH(getdate())-1,
IF(YR=YEAR(getdate()),1,0)))


PriorYear

=IF(MONTH(getdate())=1,
IF(MO<=12,
IF(YR=YEAR(getdate())-2,1,0),0),
IF(MO<=MONTH(getdate())-1,
IF(YR=YEAR(getdate())-1,1,0)))


Thanks

Glen
0
Comment
Question by:GPSPOW
  • 2
4 Comments
 
LVL 18

Expert Comment

by:Simon
ID: 40555448
Hi Glen, the statements in your question look like a mixture of Excel and TSQL. Can you explain a bit more about what you'd like to achieve and post a few rows of sample data.
0
 

Author Comment

by:GPSPOW
ID: 40558770
I've requested that this question be deleted for the following reason:

Was able to convert Excel IF statement to a SQL query.

Thanks for reviewing it.

Glen
0
 

Accepted Solution

by:
GPSPOW earned 0 total points
ID: 40562562
Here is my solution to convertin the IF statement to a SQL case statement:

case when MONTH(getdate())=1 then
	case when MO=12 then
		  case when  YR = YEAR(GETDATE())-1 then 1 else 0 end
		else
	case when  MO = month(GETDATE()-1) and YR = YEAR(GETDATE()) then 1
		else 0 end end end as CMO,
	

Case when Month(getdate())=1 then
	case when MO <=12 then
		case when YR = year(getdate())-1 then 1 else 0 end
	else
	case when MO <=month(getdate()-1)  and YR=Year(getdate()) then 1 
		else 0 end end end as CYR,
	
Case when Month(getdate())=1 then
	case when MO <=12 then
		case when YR = year(getdate())-2 then 1 else 0 end
	else
	case when MO <=month(getdate()-1)  and YR=Year(getdate()-1) then 1 
		else 0 end end end as PYR

Open in new window



Thanks

Glen
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes how to use a set of graphical playing cards to create a Draw Poker game in Excel or VB6.
Microsoft Access has a limit of 255 columns in a single table; SQL Server allows tables with over 255 columns, but reading that data is not necessarily simple.  The final solution for this task involved creating a custom text parser and then reading…
This Micro Tutorial demonstrates how to create Excel charts: column, area, line, bar, and scatter charts. Formatting tips are provided as well.
This Micro Tutorial will demonstrate the scrolling table in Microsoft Excel using the INDEX function.

916 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question