SQL Server DATETIME Data Type

The DATETIME data type in SQL Server represents a combination of date and time values, used to store dates and times between January 1, 1753 and December 31, 9999.

Syntax

The syntax for the DATETIME data type is as follows:

DATETIME

Use Cases

The DATETIME data type is commonly used to store date and time information that needs to be accurate to the minute. It can be used to record a timestamp of when an event occurred, or to record the time that a record was created or modified.

Examples

Here are three examples of using the DATETIME data type:

Example 1: Inserting Data with DATETIME

Consider an order management system where we can use the DATETIME data type to store the order creation time and the last update time.

First, create a table named orders to store order information:

CREATE TABLE orders (
   order_id INT PRIMARY KEY,
   customer_name VARCHAR(50) NOT NULL,
   order_date DATETIME NOT NULL,
   last_update DATETIME
);

Now we can insert some data into the orders table:

INSERT INTO orders (order_id, customer_name, order_date, last_update)
VALUES
  (1, 'John Smith', '2022-03-10 10:23:35', '2022-03-11 13:25:20'),
  (2, 'Mary Johnson', '2022-03-11 14:12:07', NULL),
  (3, 'David Lee', '2022-03-11 16:18:50', '2022-03-11 18:30:12');

Here, we inserted three orders. The first order was created by John Smith on March 10, 2022, at 10:23:35 AM, and last updated on March 11, 2022, at 1:25:20 PM. The second order was created by Mary Johnson on March 11, 2022, at 2:12:07 PM, with no last update time. The third order was created by David Lee on March 11, 2022, at 4:18:50 PM, and last updated on March 11, 2022, at 6:30:12 PM.

Now we can query the orders table to see the creation and last update times for all orders:

SELECT order_id, customer_name, order_date, last_update
FROM orders;

Running the above query will give us the following results:

order_id customer_name order_date last_update
1 John Smith 2022-03-10 10:23:35.000 2022-03-11 13:25:20.000
2 Mary Johnson 2022-03-11 14:12:07.000 NULL
3 David Lee 2022-03-11 16:18:50.000 2022-03-11 18:30:12.000

Example 2

Suppose we have an orders table used to store order information, and we want to add a column to record the order creation time.

ALTER TABLE orders ADD created_at DATETIME NOT NULL DEFAULT GETDATE();

This will add a column named created_at with a default value of the current date and time.

Example 3

Suppose we want to query all orders created after January 1st, 2022.

SELECT * FROM orders WHERE created_at >= '2022-01-01 00:00:00';

This will return all order records created after January 1st, 2022.

Conclusion

In SQL Server, the DATETIME data type is a commonly used data type for dates and times, used to store date and time information that needs to be accurate to the minute. It is suitable for recording timestamps of events, or recording the creation and modification times of records.