Преобразовать дату и время в строку

В этом руководстве вы узнаете, как преобразовать дату и время в строку в SQL Server с помощью функции CONVERT().

Содержание
  1. Использование функции CONVERT() для преобразования даты и времени в строку
  2. Примеры преобразования даты и времени в строку
  3. 1) Пример преобразования даты и времени в строку в формате mon dd yyyy hh:miAM(или PM)
  4. 2) Пример преобразования даты и времени в строку в форматах мм/дд/гг и мм/дд/гггг
  5. 3) Пример преобразования даты и времени в строку в формате mon dd yyyy hh:miAM(или PM)
  6. 4) Пример преобразования даты и времени в строку в форматах дд.мм.гг и дд.мм.гггг
  7. 5) Пример преобразования даты и времени в строку в форматах дд-мм-гг дд-мм-гггг
  8. 6) Пример преобразования даты и времени в строку в формате дд мес гг дд мес гггг
  9. 7) Пример преобразования даты и времени в строку в формате Mon dd, yy Mon dd, yyyy
  10. 8) Пример преобразования даты и времени в строку в формате чч:ми:сс
  11. 9) Пример преобразования даты и времени в строку в формате mon dd yyyy hh:mi:ss:mmmAM(или PM)
  12. 10) Пример преобразования даты и времени в строку в формате мм-дд-гг и мм-дд-гггг
  13. 11) Пример преобразования даты и времени в строку в формате гг/мм/дд и гггг/мм/дд
  14. 12) Пример преобразования даты и времени в строку в формате ггммдд и ггггммдд
  15. 13) Пример преобразования даты и времени в строку в формате дд пн гггг чч:ми:сс:ммм(24ч)
  16. 14) Пример преобразования даты и времени в строку в формате чч:ми:сс:ммм(24ч)
  17. 15) Пример преобразования даты и времени в строку в формате гггг-мм-дд чч:ми:сс(24h)
  18. 16) Пример преобразования даты и времени в строку в формате гггг-мм-дд чч:ми:сс.ммм(24h)
  19. 17) Пример преобразования даты и времени в строку в формате гггг-мм-ддТчч:ми:сс.ммм
  20. 18) Пример преобразования даты и времени в строку в формате гггг-мм-ддТчч:ми:сс.мммZ

Использование функции CONVERT() для преобразования даты и времени в строку

Чтобы преобразовать дату и время в строку, используйте функцию CONVERT() следующим образом:

CONVERT(VARCHAR, datetime [,style])

В этом синтаксисе:

  • VARCHAR — первый аргумент, представляющий тип строки.
  • datetime — это выражение, результатом которого является значение даты или datetime, которое требуется преобразовать в строку.
  • sytle определяет формат даты. Значение style — это число, предопределенное SQL Server. Параметр style является необязательным.

В следующей таблице показан допустимый стиль и соответствующий формат даты и времени после преобразования в строку.

Без века(гг) С веком(гггг) Стандарт Формат
0 или 100 По умолчанию для datetime и smalldatetime пн дд гггг чч:миAM(или PM)
1 101 НАС 1 = мм/дд/гг
101 = мм/дд/гггг
2 102 АНСИ 2 = гг.мм.дд
102 = гггг.мм.дд
3 103 Британский/Французский 3 = дд/мм/гг
103 = дд/мм/гггг
4 104 немецкий 4 = дд.мм.гг
104 = дд.мм.гггг
5 105 итальянский 5 = дд-мм-гг
105 = дд-мм-гггг
6 106 6 = дд пн гг
106 = дд пн гггг
7 107 7 = Пн дд, гг
107 = Пн дд, гггг
8 108 чч:ми:сс
9 или 109 По умолчанию + миллисекунды пн дд гггг чч:ми:сс:мммAM(или PM)
10 110 США 10 = мм-дд-гг
110 = мм-дд-гггг
11 111 ЯПОНИЯ 11 = гг/мм/дд
111 = гггг/мм/дд
12 112 ИСО 12 = ггммдд
112 = ггггммдд
13 или 113 Европа по умолчанию + миллисекунды дд пн гггг чч:ми:сс:ммм(24ч)
14 114 чч:ми:сс:ммм(24ч)
20 или 120 ODBC канонический гггг-мм-дд чч:ми:сс(24ч)
21 или 121 Каноническое значение ODBC(с миллисекундами) по умолчанию для времени, даты, datetime2 и datetimeoffset гггг-мм-дд чч:ми:сс.ммм(24ч)
126 ISO8601 гггг-мм-ддТчч:ми:сс.ммм(без пробелов)
127 ISO8601 с часовым поясом Z. гггг-мм-ддТчч:ми:сс.мммZ(без пробелов)
130 Хиджра дд пн гггг чч:ми:сс:мммAM
131 Хиджра дд/мм/гггг чч:ми:сс:мммAM

Примеры преобразования даты и времени в строку

1) Пример преобразования даты и времени в строку в формате mon dd yyyy hh:miAM(или PM)

DECLARE @dt DATETIME = '2019-12-31 14:43:35.863';
SELECT 
    CONVERT(VARCHAR(20),@dt,0) s1,
    CONVERT(VARCHAR(20),@dt,100) s2;

Вот что получилось:

s1                   s2
-------------------- --------------------
Dec 31 2019  2:43PM  Dec 31 2019  2:43PM
(1 row affected)

2) Пример преобразования даты и времени в строку в форматах мм/дд/гг и мм/дд/гггг

DECLARE @dt DATETIME = '2019-12-31 14:43:35.863';
SELECT 
    CONVERT(VARCHAR(10),@dt,1) s1,
    CONVERT(VARCHAR(10),@dt,101) s2;

Вот что получилось:

s1         s2
---------- ----------
12/31/19   12/31/2019
(1 row affected)

3) Пример преобразования даты и времени в строку в формате mon dd yyyy hh:miAM(или PM)

DECLARE @dt DATETIME = '2019-12-31 14:43:35.863';
SELECT 
    CONVERT(VARCHAR(10),@dt,3) s1,
    CONVERT(VARCHAR(10),@dt,103) s2;

Вот что получилось:

s1         s2
---------- ----------
31/12/19   31/12/2019
(1 row affected)

4) Пример преобразования даты и времени в строку в форматах дд.мм.гг и дд.мм.гггг

DECLARE @dt DATETIME = '2019-12-31 14:43:35.863';
SELECT 
    CONVERT(VARCHAR(10),@dt,4) s1,
    CONVERT(VARCHAR(10),@dt,104) s2;

Вот что получилось:

s1         s2
---------- ----------
31.12.19   31.12.2019
(1 row affected)

5) Пример преобразования даты и времени в строку в форматах дд-мм-гг дд-мм-гггг

DECLARE @dt DATETIME = '2019-12-31 14:43:35.863';
SELECT 
    CONVERT(VARCHAR(10),@dt,5) s1,
    CONVERT(VARCHAR(10),@dt,105) s2;

Вот что получилось:

s1         s2
---------- ----------
31-12-19   31-12-2019
(1 row affected)

6) Пример преобразования даты и времени в строку в формате дд мес гг дд мес гггг

DECLARE @dt DATETIME= '2019-12-31 14:43:35.863';
SELECT 
    CONVERT(VARCHAR(10), @dt, 6) s1, 
    CONVERT(VARCHAR(10), @dt, 106) s2;

Вот что получилось:

s1         s2
---------- ----------
31 Dec 19  31 Dec 201
(1 row affected)       

7) Пример преобразования даты и времени в строку в формате Mon dd, yy Mon dd, yyyy

DECLARE @dt DATETIME= '2019-12-31 14:43:35.863';
SELECT CONVERT(VARCHAR(10), @dt, 7) s1, 
       CONVERT(VARCHAR(10), @dt, 107) s2;

Вот что получилось:

s1         s2
---------- ----------
Dec 31, 19 Dec 31, 20
(1 row affected)

8) Пример преобразования даты и времени в строку в формате чч:ми:сс

DECLARE @dt DATETIME= '2019-12-31 14:43:35.863';
SELECT CONVERT(VARCHAR(10), @dt, 108) s1;

Вот что получилось:

s1
----------
14:43:35
(1 row affected) 

9) Пример преобразования даты и времени в строку в формате mon dd yyyy hh:mi:ss:mmmAM(или PM)

DECLARE @dt DATETIME= '2019-12-31 14:43:35.863';
SELECT 
    CONVERT(VARCHAR(30), @dt, 109) s1;    

Вот что получилось:

s1
------------------------------
Dec 31 2019  2:43:35:863PM
(1 row affected)

10) Пример преобразования даты и времени в строку в формате мм-дд-гг и мм-дд-гггг

DECLARE @dt DATETIME= '2019-12-31 14:43:35.863';
SELECT CONVERT(VARCHAR(10), @dt, 10) s1, 
    CONVERT(VARCHAR(10), @dt, 110) s2;

Вот результат:

s1         s2
---------- ----------
12-31-19   12-31-2019
(1 row affected)

11) Пример преобразования даты и времени в строку в формате гг/мм/дд и гггг/мм/дд

DECLARE @dt DATETIME= '2019-12-31 14:43:35.863';
SELECT CONVERT(VARCHAR(10), @dt, 11) s1, 
    CONVERT(VARCHAR(10), @dt, 111) s2;

Вот результат:

s1         s2
---------- ----------
19/12/31   2019/12/31
(1 row affected)

12) Пример преобразования даты и времени в строку в формате ггммдд и ггггммдд

DECLARE @dt DATETIME= '2019-12-31 14:43:35.863';
SELECT CONVERT(VARCHAR(10), @dt, 12) s1, 
    CONVERT(VARCHAR(10), @dt, 112) s2;

Вот результат:

s1         s2
---------- ----------
191231     20191231
(1 row affected)

13) Пример преобразования даты и времени в строку в формате дд пн гггг чч:ми:сс:ммм(24ч)

DECLARE @dt DATETIME= '2019-12-31 14:43:35.863';
SELECT CONVERT(VARCHAR(10), @dt, 113) s1;

Вот результат:

s1
----------
31 Dec 201
(1 row affected)

14) Пример преобразования даты и времени в строку в формате чч:ми:сс:ммм(24ч)

DECLARE @dt DATETIME= '2019-12-31 14:43:35.863';
SELECT CONVERT(VARCHAR(20), @dt, 114) s1;

Вот результат:

s1
--------------------
14:43:35:863
(1 row affected)

15) Пример преобразования даты и времени в строку в формате гггг-мм-дд чч:ми:сс(24h)

DECLARE @dt DATETIME= '2019-12-31 14:43:35.863';
SELECT CONVERT(VARCHAR(20), @dt, 120) s1;

Вот результат:

s1
--------------------
2019-12-31 14:43:35
(1 row affected)

16) Пример преобразования даты и времени в строку в формате гггг-мм-дд чч:ми:сс.ммм(24h)

DECLARE @dt DATETIME= '2019-12-31 14:43:35.863';
SELECT CONVERT(VARCHAR(30), @dt, 121) s1;

Вот результат:

s1
------------------------------
2019-12-31 14:43:35.863
(1 row affected)

17) Пример преобразования даты и времени в строку в формате гггг-мм-ддТчч:ми:сс.ммм

DECLARE @dt DATETIME= '2019-12-31 14:43:35.863';
SELECT CONVERT(VARCHAR(25), @dt, 126) s1;

Вот результат:

s1
-------------------------
2019-12-31T14:43:35.863
(1 row affected)

18) Пример преобразования даты и времени в строку в формате гггг-мм-ддТчч:ми:сс.мммZ

DECLARE @dt DATETIME= '2019-12-31 14:43:35.863';
SELECT CONVERT(VARCHAR(25), @dt, 127) s1;

Вот результат:

s1
-------------------------
2019-12-31T14:43:35.863
(1 row affected)

В этом уроке вы узнали, как преобразовать дату в строку с помощью функции CONVERT().

Мирослав С.

Автор статей, ИБ-специалист