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

