Select Date without Time in SQL Server

In SQL Server, you can select a date without time using various methods. This is useful when you want to ignore the time component of a datetime column and only retrieve the date part.

Method 1: Using the CONVERT Function

The `CONVERT` function can be used to convert a datetime column to a date data type, which removes the time component.

SELECT CONVERT(DATE, GETDATE()) AS DateOnly; 

This will return the current date without time, e.g. `2023-03-15`.

Method 2: Using the CAST Function

The `CAST` function can also be used to convert a datetime column to a date data type.

SELECT CAST(GETDATE() AS DATE) AS DateOnly; 

This will return the same result as the `CONVERT` function, e.g. `2023-03-15`.

Method 3: Using the FORMAT Function (SQL Server 2012 and later)

The `FORMAT` function can be used to format a datetime column as a date string.

SELECT FORMAT(GETDATE(), 'yyyy-MM-dd') AS DateOnly; 

This will return the current date without time, e.g. `2023-03-15`.

Example: Selecting Date without Time from a Table

Let's say we have a table called `Orders` with a column called `OrderDate` of type `datetime`. We want to select the date part of the `OrderDate` column without the time component.

SELECT CONVERT(DATE, OrderDate) AS OrderDateOnly FROM Orders; 

This will return a list of dates without time, e.g. `2023-03-15`, `2023-03-16`, etc.

Important Notes

When selecting a date without time in SQL Server, keep in mind:

  • The `CONVERT` and `CAST` functions can be used in most versions of SQL Server.
  • The `FORMAT` function is only available in SQL Server 2012 and later versions.
  • Be careful when using these methods, as they can affect the performance of your queries.