I'm playing around with manipulating a datetime
variable. I can't seem to find a way to update a datetime
variable year to the current year.
For example I have
2007-12-01 00:00:00.000
But I would like that to be
2012-12-01 00:00:00.000 (The current year were in)
I've been playing with datediff
, but I can't seem to nail it.
Any advice would be appreciated.
Thanks
DateTime is immutable type. You cannot change year or any other part of it. You should create new DateTime instance with new year.
Update only the YEAR part of a SQL Server date using the DATEADD() function. Let's use the DATEADD() function to update the year from the start_date to a different year. Use the below query to see if we are getting the desired results. We are replacing the year portion of the date with "2019".
To change the year in MySQL date, you need to use DATE_FORMAT() function with UPDATE command. The syntax is as follows. Display all records from the table using select statement.
DECLARE @date datetime = '2007-01-09T12:34:56'
SELECT @date = DATEADD(yyyy, DATEDIFF(yyyy, @date, GETDATE()), @date)
SELECT @date
Maybe something like this:
For sql server 2008+
DECLARE @date DATETIME='2007-12-01 00:00:00.000'
SET @date=DATEADD(year,DATEDIFF(year,@date,GETDATE()),@date)
For sql server 2005
DECLARE @date DATETIME
SET @date='2007-12-01 00:00:00.000'
SET @date=DATEADD(year,DATEDIFF(year,@date,GETDATE()),@date)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With