Answered If then statement

  • Wednesday, February 13, 2013 9:57 PM
     
     

    Trying to do the following:

    If getdate() > '07/01/current year

    then do 07/01/current year

    Else 07/01/last year

    Tried this but need assistance:

    IF

    datediff(day,Cast('07/01/' + CONVERT (VARCHAR(4),Year(GETDATE())) as datetime),getdate()) > getdate()

    then

    '07/01/' + CONVERT(VARCHAR , YEAR(GETDATE()))

    Else

    '07/01/'

    + CONVERT(VARCHAR , YEAR(GETDATE()))

All Replies

  • Wednesday, February 13, 2013 10:09 PM
     
      Has Code

    Something like ? 

     IF Cast('07/01/' + CONVERT (VARCHAR(4),Year(GETDATE())) as datetime) > GETDATE() 
    	Begin
    		print '07/01/' + CONVERT(VARCHAR(4) , YEAR(GETDATE())) 
    	end
    Else
    		print '07/01/' + CONVERT(VARCHAR(4) , YEAR(GETDATE()))
    	
    	
    Or, do you need this as a SELECT statement?


    Not sure why you would want to use DATEDIFF function if you just care whether one data value is greater than another.  Do you need to check for a specific difference in the number of days between the dates?

    - will


    • Edited by Will Durning Wednesday, February 13, 2013 10:10 PM
    •  
  • Wednesday, February 13, 2013 10:12 PM
    Moderator
     
      Has Code
    IF datepart(month,getdate()) >=7  
    
     print '07/01/' + CONVERT(VARCHAR(4) , YEAR(GETDATE()))
    
    Else
     
    print '07/01/'+ CONVERT(VARCHAR(4) , YEAR(GETDATE())-1)
    

  • Wednesday, February 13, 2013 10:30 PM
     
     

    I need to set the field.

    DECLARE @EFFDATE SMALLDATETIME

    SET @EFFDATE =

  • Wednesday, February 13, 2013 10:38 PM
    Moderator
     
     Answered Has Code
    DECLARE @EFFDATE SMALLDATETIME
    
    
    IF datepart(month,getdate()) >=7  
    
    SET @EFFDATE =Cast('07/01/' + CONVERT(VARCHAR(4) , YEAR(GETDATE())) as SMALLDATETIME)
    
    Else
    
    SET @EFFDATE = Cast('07/01/' + CONVERT(VARCHAR(4) , YEAR(GETDATE())-1) as SMALLDATETIME)
    
    --print  @EFFDATE 

    • Marked As Answer by CIWorker Wednesday, February 13, 2013 10:55 PM
    •