Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
i have following dates
01/01/2009
01/02/2010
01/04/2011
now i want to change year in date field.. i dont want to create new year field
i tried this
load
ID,
fIDate,
if(Year(fIDate) = 2009, '2010',
if(Year(fIDate) = 2010, '2009',
if(Year(fIDate) = 2011, '2012'
))) as I_Year,
FROM
.....
but this seems like creating new year field .. but i want to change year only in date colmn.. how i do this
HI,
I couldn't sense any logic sequence from your requirement, however if you want to add a year or any number of months you can use AddMonts function
Addmonths(fIDate, 12) as fIDate
if this is not the solution you are looking for then do let us know the requirement clearly
my question is
in date field there is year and i want to swap these years in date field
like if i have dates like these
01/01/2009
01/02/2010
01/04/2011
then i want like this
01/01/2010
01/02/2009
01/04/2012
hope u understand
use below condition
if(match(year(date),'2009'),AddMonths(date,12), if(match(year(date),'2010'),AddMonths(date,-12),
if(match(year(date),'2011'),AddMonths(date,12)))) as fIDate
why u did 12 and -12 ? what if there is 2019 and want to change to 2020 then? @sasikanth
as per your requirement it is only one year to increase / decrease so i used 12 ,
you should explain your full requirement, bits and pieces wont help us
1, is there any logic behind Year switch ??
2, What is date field range??
3, in total how many years are there to swap ??
4, what about future years ??
there is no logic just want to change original data into dummy data so want to swap years ..
year range is 2009 to 2021
so for 2009 this change to 2008
2010 to 2009, 2011 to 2010, 2012 to 2011, 2013 to 2012 , 2014 to 2013 , 2015 to 2014, 2016 to 2015, 2017 to 2016, 2018 to 2017 , 2019 to 2018, 2020 to 2019, 2021 to 2020
simple
use
addmonths(fIDate,-12) as fIDate
OR
addYears(fIDate,-1) as fIDate
in every criteria whether year is 2015 or 2016 or any thing else ?
yes, it works for all years.