Collections:
Setting New Values to Parts of a DATETIME Value in SQL Server
How To Set Different Parts of a DATETIME Value in SQL Server Transact-SQL?
✍: FYIcenter.com
In SQL Server, you can get different parts of a DATETIME value with the DATEPART() functions. But there is no function that allows you to set different parts to a DATETIME value. For example, you a date_of_birth column as DATETIME in a table, you want to set all rows to the noon time in this column.
The tutorial exercise below shows how to set year, month, day, hour, minute and second to any give DATETIME value:
-- set parts to a DATETIME value DECLARE @date_of_birth DATETIME; SET @date_of_birth = GETDATE(); SET @date_of_birth = DATEADD(YEAR, 1987-DATEPART(YEAR,@date_of_birth), @date_of_birth); SET @date_of_birth = DATEADD(MONTH, 05-DATEPART(MONTH,@date_of_birth), @date_of_birth); SET @date_of_birth = DATEADD(DAY, 19-DATEPART(DAY,@date_of_birth), @date_of_birth); SET @date_of_birth = DATEADD(HOUR, 12-DATEPART(HOUR,@date_of_birth), @date_of_birth); SET @date_of_birth = DATEADD(MINUTE, 00-DATEPART(MINUTE,@date_of_birth), @date_of_birth); SET @date_of_birth = DATEADD(SECOND, 00-DATEPART(SECOND,@date_of_birth), @date_of_birth); SELECT 'You were born on ' + CONVERT(VARCHAR(40),@date_of_birth,107) + ', at ' + CONVERT(VARCHAR(40),@date_of_birth,108); GO You were born on May 19, 1987, at 12:00:00
Â
⇒Date/Time Operations and Functions in SQL Server Transact-SQL
2017-02-08, 1473👍, 0💬
Popular Posts:
Where to find answers to frequently asked questions on Conditional Statements and Loops in SQL Serve...
How to run Queries with SQL Server Management Studio Express in SQL Server? 1. Launch and connect SQ...
How To Convert Numeric Values to Integers in SQL Server Transact-SQL? Sometimes you need to round a ...
What To Do If the StartDB.bat Failed to Start the XE Instance in Oracle? If StartDB.bat failed to st...
How To Run SQL Commands in SQL*Plus in Oracle? If you want to run a SQL command in SQL*Plus, you nee...