Как указать формат даты при создании таблицы и заполнить ее в SQL?

Опубликовано: 31 Августа, 2022

Всякий раз, когда мы работаем с базами данных, мы обнаруживаем, что почти каждая отдельная таблица содержит столбец Date. Ведь дата данных играет важную роль при их анализе. Хранение дат в определенном или понятном формате очень важно. В этой статье мы узнаем, как указать формат даты в SQL Server.

Давайте создадим нашу демонстрационную базу данных и таблицу.

Шаг 1: Создайте базу данных

Используйте следующую команду для создания базы данных.

Запрос:

CREATE DATABASE User_details; 

Шаг 2: Используйте базу данных

Запрос:

USE User_details; 

Шаг 3: Определение таблицы

У нас есть следующая таблица GFG_user в базе данных.

Запрос:

CREATE TABLE GFG_user(Id INT NOT NULL,Dt DATE, 
Address  VARCHAR(100),Dt_FORMATTED AS 
(convert(varchar(255), dt, 104)),   
PRIMARY KEY (Id) );

Выход:

Здесь мы создали столбец с именем Dt_FORMATTED, где мы собираемся сохранить нашу отформатированную дату.

Теперь мы видим функцию CONVERT() . Функция CONVERT() просто преобразует значение любого типа в указанный тип данных.

Синтаксис:

CONVERT ( data_type ( length ) ,
expression , style )    

Используя эту функцию, мы преобразуем строку в дату. Вместо аргумента стиля мы упомянули «104» . Это числовой код для указания формата даты.

Проверьте эту таблицу, чтобы увидеть разные коды, используемые для разных форматов:

С век

(гг)

С век

(гггг)

Стандарт

Ввод, вывод

0 или 100 ( 1,2 )

Дата и время по умолчанию

и маленькое время

пн дд ггг чч:

miAM (или PM)

1 101 НАС

1 = мм/дд/гг

101 = мм/дд/гггг

2 102 ANSI

2 = гг.мм.дд

102 = гггг.мм.дд

3 103 британский/французский

3 = дд/мм/гг

103 = дд/мм/гггг

4 104 Немецкий

4 = дд.мм.гг

104 = дд.мм.гггг

11 111 ЯПОНИЯ

11 = гг/мм/дд

111 = гггг/мм/дд

12 112 ИСО

12 = ггммдд

112 = ггггммдд

13 или 113 ( 1,2 ) Европа по умолчанию + миллисекунды дд пн гггг чч:ми:сс:ммм (24ч)
131 ( 2 ) Хиджра ( 5 ) дд/мм/гггг чч:ми:сс:мммAM

Здесь мы упомянули только 10 наиболее часто используемых форматов.

Шаг 4. Вставьте значения

Следующая команда используется для вставки значений в таблицу.

Запрос:

SET DATEFORMAT dmy; INSERT INTO GFG_user
(Id, Dt, Address) VALUES ("1","23.11.2021",
"German");   

В этом запросе мы используем параметр DATEFORMAT .

Синтаксис:

SET DATEFORMAT format    

Когда мы вставляем строку, сервер попытается преобразовать строку в дату, прежде чем вставлять ее в таблицу. Поскольку он не может сказать, ставим ли мы месяц перед датой или дату перед месяцем. Например, предположим, что вы пытаетесь вставить 06.07.2000. Сервер не может определить, является ли дата 6 июля или 7 июня. Хотя он использует настройки локализации учетной записи пользователя, которая работает, чтобы выяснить, что неупоминание DATEFORMAT может привести к ошибке, поскольку в большинстве случаев учетная запись, в которой выполняется операция, настроена на формат США, то есть - Месяц День Год (мдй) .

Ошибка была вызвана тем, что мы хотели сохранить его как dmy , а не mdy . Однако использование DATEFORMAT поможет вам избавиться от него.

Выход:

Мы закончили с нашей таблицей, теперь давайте проверим, получаем ли мы желаемый результат или нет.

Шаг 5: Просмотрите данные таблицы

Запрос:

SELECT * FROM GFG_user; 

Выход:

Мы успешно получили дату в немецком формате в столбце Dt_FORMATTED.