tags:

views:

48

answers:

5

Hi all...

DECLARE @FINANCIALYEAR AS varchar(30)
DECLARE @FINALFINANCIALYEAR AS int

SELECT @FINANCIALYEAR=CONVERT(VARCHAR,YEAR(GETDATE())-2) + ', ' +  
CONVERT(VARCHAR,YEAR(GETDATE())-1) + ', ' +  
CONVERT(VARCHAR,YEAR(GETDATE())) 

set @FINALFINANCIALYEAR = CONVERT(int,@FINANCIALYEAR)
print @FINALFINANCIALYEAR

i want final output in int format so iam doing above code but it gives me error plz help

+1  A: 
Select YEAR (GetDate())-2,YEAR (GetDate())-1, YEAR (GetDate())
Pranay Rana
Neat - I always use DATEPART myself - I'd not encountered the YEAR function before. I shall use that from now on!
Will A
A: 

SELECT DATEPART(YEAR, GETDATE()), DATEPART(YEAR, GETDATE()) - 1, DATEPART(YEAR, GETDATE()) - 2

Will A
A: 

this year is

Select datepart(year,getdate())

or

year(getdate())
Haim Evgi
+1  A: 

Simple query

SELECT CONVERT(VARCHAR,YEAR(GETDATE())-2) + ', ' + 
CONVERT(VARCHAR,YEAR(GETDATE())-1) + ', ' + 
CONVERT(VARCHAR,YEAR(GETDATE()))
Anil
+1  A: 

Just check what your variable is after your SELECT:

DECLARE @FINANCIALYEAR AS varchar(30)
DECLARE @FINALFINANCIALYEAR AS int

SELECT @FINANCIALYEAR=CONVERT(VARCHAR,YEAR(GETDATE())-2) + ', ' +  
CONVERT(VARCHAR,YEAR(GETDATE())-1) + ', ' +  
CONVERT(VARCHAR,YEAR(GETDATE())) 

SELECT @FINANCIALYEAR

The output is:

2008, 2009, 2010

This is clearly NOT a valid INT value - so it's obvious you're getting a conversion error.....

marc_s