Adventures in Machine Learning

Mastering the DATETIMEOFFSETFROMPARTS() Function in SQL Server

SQL Server DATETIMEOFFSETFROMPARTS() Function: Syntax, Usage, and Examples

As a database administrator or developer, it is essential to understand SQL Server’s various functions. One such function is DATETIMEOFFSETFROMPARTS(), which helps construct a DATETIMEOFFSET value from its date and time components.

In this article, we will explore the syntax, functionality, and examples of using DATETIMEOFFSETFROMPARTS() function in SQL Server.

Syntax and Arguments

The DATETIMEOFFSETFROMPARTS() function is easy to use, and its syntax is straightforward. Its primary purpose is to construct a DATETIMEOFFSET value from its various components.

The function’s syntax is as follows:

DATETIMEOFFSETFROMPARTS (year, month, day, hour, minute, seconds, fractional seconds, hourOffset, minuteOffset)

The arguments’ meaning are as follows:

year – specifies the year in integer format. month – specifies the month of the year in integer format (1-12).

day – specifies the day of the month in integer format (1-31). hour – specifies the hour of the day in 24-hour format (0-23).

minute – specifies the minute of the hour in integer format (0-59). seconds- specifies the second of the minute in integer format (0-59).

fractional seconds – specifies the fractional part of the second to a maximum of seven decimal digits. hourOffset – specifies the offset from UTC in hours (-14 to 14).

minuteOffset – specifies the offset from UTC in minutes (0 to 59).

Functionality and Usage

The DATETIMEOFFSETFROMPARTS() function’s primary objective is to construct a DATETIMEOFFSET value from its various components. A DATETIMEOFFSET value is a date and time value that includes a time zone offset from UTC.

This function allows you to specify date and time elements explicitly and construct a DATETIMEOFFSET value from them. An essential component of the DATETIMEOFFSETFROMPARTS() function is the time zone offset from UTC.

It is crucial to remember to specify this value since a DATETIMEOFFSET value must include this element. The offset value can be positive or negative, representing different time zones worldwide.

Examples of Using DATETIMEOFFSETFROMPARTS() Function

The DATETIMEOFFSETFROMPARTS() function can be used in various scenarios to construct datetimeoffset values using different date and time components. Below are some examples that demonstrate the valid and invalid usage of this function.

Valid Usage Examples

Example 1:

SELECT DATETIMEOFFSETFROMPARTS(2021,04,23,12,30,23,0, +5, 30) as Date;




2021-04-23 12:30:23.0000000 +05:30

In the above example, the DATETIMEOFFSETFROMPARTS() function is used to create a datetimeoffset value with the specified date (2021-04-23) and time (12:30:23) components. The offset from the UTC is also set to +5 hours and 30 minutes.

Example 2:

SELECT DATETIMEOFFSETFROMPARTS(2022,12,30,23,59,59,9999999,-6, 0) as Date;




2022-12-30 23:59:59.9999999 -06:00

The above example creates a datetimeoffset value for 30-Dec-2022 23:59:59.9999999 with an offset of -6 hours from UTC.

Invalid Usage Examples

Example 1:



Msg 6513, Level 16, State 45, Line 1

The above example demonstrates that passing NULL or missing arguments can cause unexpected behavior or generate an error. Example 2:

SELECT DATETIMEOFFSETFROMPARTS(2021,13,32,24,60,60,0000001, -14, 59) as Date;


Msg 289, Level 16, State 1, Line 1

Cannot construct data type DATETIMEOFFSET, some of the arguments have values which are not valid.

The above example demonstrates that providing invalid arguments can result in an error. In this case, providing 13, 32, 24, and 60 to month, day, hour, and minute arguments, respectively, is not a valid input.


In conclusion, the DATETIMEOFFSETFROMPARTS() function is a useful tool for creating datetimeoffset values using various date and time components. This article has covered the DATETIMEOFFSETFROMPARTS() function’s syntax, its functionality, and some examples of its usage.

By following the correct syntax and best practices when using this function, you can improve the efficiency and effectiveness of your SQL Server database queries. In summary, understanding the DATETIMEOFFSETFROMPARTS() function in SQL Server is an essential aspect of constructing datetimeoffset values accurately.

This article has explored the syntax and arguments, the functionality and usage, and provided valid and invalid examples of using this fundamental function. By following best practices and using correct inputs, you can improve the accuracy and efficiency of your SQL Server queries.

It is crucial to keep in mind that missing arguments or providing invalid inputs can cause unexpected behavior in query results, resulting in wasted time and effort. Overall, the importance of understanding this function cannot be overstated in ensuring effective database management with SQL Server.