DATETIMEFROMPARTS() Examples in SQL Server (T-SQL)

In SQL Server, the DATETIMEFROMPARTS() function works just like the DATEFROMPARTS() function, except that it also returns the time portion of the date.

The DATETIMEFROMPARTS() function accepts seven arguments, each representing a different part of the date/time. The function then returns a datetime value from the given parts.

Continue reading

DATEFROMPARTS() Examples in SQL Server (T-SQL)

You can use the T-SQL DATEFROMPARTS() function in SQL Server to return a date value that maps to the date parts that you provide as integer expressions.

The way it works is, you provide three values (one for each of the year, month, and day values), and SQL Server will return a date value based on the values you provide.

Examples below.

Continue reading

ODBC Scalar Functions for Date and Time in SQL Server (T-SQL Examples)

You can use ODBC scalar functions when running T-SQL statements in SQL Server. There are various types of ODBC scalar functions, including string functions, numeric functions, system functions, and of course, date/time functions (also referred to as date, time, and interval functions).

Below are examples of the date, time and interval functions you can use in SQL Server.

Continue reading

SYSUTCDATETIME() vs GETUTCDATE() in SQL Server: What’s the Difference?

SYSUTCDATETIME() and GETUTCDATE() are two T-SQL date/time functions available for use in SQL Server.  These functions return the date and time of the computer on which the instance of SQL Server is running. Both functions return the date and time as UTC time (Coordinated Universal Time).

So, both functions do the same thing. Almost.

Here’s how these two functions differ:

  • GETUTCDATE() returns its value as a datetime value.
  • SYSUTCDATETIME() returns its value as a datetime2 value.

This means that SYSUTCDATETIME()  provides more seconds precision. The datetime2 data type also has a larger range than datetime.

Continue reading

SYSDATETIME() vs GETDATE() in SQL Server: What’s the Difference?

SQL Server has a bunch of functions that return the current date/time. Two of these are the GETDATE() and SYSDATETIME() functions.

At first glance, these two functions appear to do the same thing – get the current date and time from the operating system of the computer on which the instance of SQL Server is running.

However, there’s a subtle difference between the two.

Continue reading

3 Ways to Get the Day Name from a Date in SQL Server (T-SQL)

In SQL Server, just as you can use T-SQL to get the month name from a date, you can also use the same methods to get the day name. By day name, I mean Monday or Tuesday for example, and not the date number or number of the day of the week (which you can also get if you need it).

Here are three ways to return the day name from a date in SQL Server using T-SQL.

Continue reading

3 Ways to Get the Month Name from a Date in SQL Server (T-SQL)

When using SQL Server, you have a few different options when you need to return the month name from a date using T-SQL. By month name, I’m not talking about the month number (such as 07). I’m talking about the full name of the month (such as July).

For example, when given a date of 2018-07-01, you want July to be returned.

This article presents three ways to return the month name from a date in SQL Server using T-SQL.

Continue reading

How to Change the Current Date Format in SQL Server (T-SQL)

When you connect to SQL Server, usually the date format is determined by your language. The default language for a session is the language for that session’s login, unless overridden on a per-session basis by using the Open Database Connectivity (ODBC) or OLE DB APIs.

The date format setting affects the interpretation of character strings as they are converted to date values for storage in the database. It does not affect the display of date data type values that are stored in the database or the storage format.

Despite the fact that the your session’s language determines the date format, you can override the date format if required. For example, if your language is us_english, the date format will be mdy (so that 07/01/2018 represents the 1st of July and not the 7th of January). You can change this so that the date format is dmy (or any other format) while the language remains us_english.

You can use T-SQL to explicitly set the date format of the current session by using the SET DATEFORMAT statement.

Continue reading

How to Find the Date Format Being Used in the Current Session in SQL Server (T-SQL)

When using SQL Server, your current connection includes a number of options that determine things like the language, date formats, etc. These could be set at whatever the default is, but they can also be overridden during the session by using a SET statement.

The date format affects the interpretation of character strings as they are converted to date values for storage in the database. When the language is set using SET LANGUAGE, the date format setting is implicitly set accordingly. This can be explicitly overridden with the SET DATEFORMAT statement.

In any case, you can find the current date format by using the DBCC USEROPTIONS command. This command returns the SET options that have been set for the current connection.

Continue reading

How to Find the Date Formats Used for a Specific Language in SQL Server (T-SQL)

When working with dates in SQL Server, it’s easy to get tripped up with different date formats. For example, someone from the US might consider 01/07/2018 to mean the 7th of January, but someone from the UK might consider it to mean the 1st of July.

In many cases you might not even know which date format is used for any particular language/culture. Fortunately, SQL Server stores this information in its resource database, and you can retrieve it by using either of the two methods below.

Continue reading