sql server year

前端 未结 5 1340
予麋鹿
予麋鹿 2021-01-17 00:23

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

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


        
5条回答
  •  难免孤独
    2021-01-17 01:10

    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.....

提交回复
热议问题