Поиск…


Синтаксис

  • КОНМЕСЯЦА (дата_начала [, month_to_add])

замечания

согласно https://msdn.microsoft.com/en-us/library/ms187819.aspx , DateTime s являются точными до 3 мс.

Округление данных datetime. Дробные значения секунды. Точность datetime округляется до приращений .000, .003 или .007 секунд, как показано в следующей таблице.

Пользовательское значение Системное сохраненное значение
01/01/98 23: 59: 59.999 1998-01-02 00: 00: 00.000
------ ------
01/01/98 23: 59: 59.995 1998-01-01 23: 59: 59.997
01/01/98 23: 59: 59.996
01/01/98 23: 59: 59.997
01/01/98 23: 59: 59.998
------ ------
01/01/98 23: 59: 59.992 1998-01-01 23: 59: 59.993
01/01/98 23: 59: 59.993
01/01/98 23: 59: 59.994
------ ------
01/01/98 23: 59: 59.990 1998-01-01 23: 59: 59.990
01/01/98 23: 59: 59.991
------ ------

Если требуется более высокая точность, следует использовать time , datetime2 или datetimeoffset .

Форматирование даты и времени с использованием CONVERT

Вы можете использовать функцию CONVERT для приведения типа данных datetime в форматированную строку.

SELECT GETDATE() AS [Result] -- 2016-07-21 07:56:10.927

Вы можете также использовать некоторые встроенные коды для преобразования в определенный формат. Вот варианты, встроенные в SQL Server:

DECLARE @convert_code INT = 100 -- See Table Below
SELECT CONVERT(VARCHAR(30), GETDATE(), @convert_code) AS [Result]
@convert_code Результат
100 "21 июля 2016 7:56 утра"
101 "07/21/2016"
102 "2016.07.21"
103 "21/07/2016"
104 "21.07.2016"
105 "21-07-2016"
106 «21 июля 2016 года»
107 «21 июля 2016 года»
108 «7:57:05»
109 "21 июля 2016 7: 57: 45: 707AM"
110 "07-21-2016"
111 "2016/07/21"
112 "20160721"
113 "21 июля 2016 года 07: 57: 59: 553"
114 "07: 57: 59: 553"
120 «2016-07-21 07:57:59»
121 "2016-07-21 07: 57: 59.553"
126 "2016-07-21T07: 58: 34,340"
127 "2016-07-21T07: 58: 34,340"
130 "16: 1437 7: 58: 34: 340AM"
131 "16/10/1437 7: 58: 34: 340AM"
SELECT GETDATE() AS [Result]                                -- 2016-07-21 07:56:10.927
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),100) AS [Result] -- Jul 21 2016  7:56AM
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),101) AS [Result] -- 07/21/2016
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),102) AS [Result] -- 2016.07.21
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),103) AS [Result] -- 21/07/2016
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),104) AS [Result] -- 21.07.2016
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),105) AS [Result] -- 21-07-2016
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),106) AS [Result] -- 21 Jul 2016
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),107) AS [Result] -- Jul 21, 2016
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),108) AS [Result] -- 07:57:05
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),109) AS [Result] -- Jul 21 2016  7:57:45:707AM
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),110) AS [Result] -- 07-21-2016
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),111) AS [Result] -- 2016/07/21
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),112) AS [Result] -- 20160721
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),113) AS [Result] -- 21 Jul 2016 07:57:59:553
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),114) AS [Result] -- 07:57:59:553
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),120) AS [Result] -- 2016-07-21 07:57:59
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),121) AS [Result] -- 2016-07-21 07:57:59.553
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),126) AS [Result] -- 2016-07-21T07:58:34.340
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),127) AS [Result] -- 2016-07-21T07:58:34.340
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),130) AS [Result] -- 16 ???? 1437  7:58:34:340AM
UNION SELECT CONVERT(VARCHAR(30),GETDATE(),131) AS [Result] -- 16/10/1437  7:58:34:340AM

Форматирование даты и времени с использованием FORMAT

SQL Server 2012

Вы можете использовать новую функцию: FORMAT() .

Используя это, вы можете преобразовать поля DATETIME в свой собственный формат VARCHAR .

пример

DECLARE @Date DATETIME = '2016-09-05 00:01:02.333'

SELECT FORMAT(@Date, N'dddd, MMMM dd, yyyy hh:mm:ss tt')

Понедельник, 5 сентября 2016 года 12:01:02

аргументы

Учитывая, что формат DATETIME отформатирован, 2016-09-05 00:01:02.333 , следующий график показывает, каков будет их вывод для предоставленного аргумента.

аргументация Выход
гггг 2016
уу 16
MMMM сентябрь
М.М. 09
M 9
дддд понедельник
ддд понедельник
дд 05
d 5
HH 00
ЧАС 0
чч 12
час 12
мм 01
м 1
сс 02
s 2
тт AM
T
FFF 333
Ф.Ф. 33
е 3

Вы также можете предоставить один аргумент функции FORMAT() для генерации предварительно форматированного вывода:

DECLARE @Date DATETIME = '2016-09-05 00:01:02.333'

SELECT FORMAT(@Date, N'U')

Понедельник, 5 сентября 2016 года 4:01:02

Одиночный аргумент Выход
D Понедельник, 5 сентября 2016 г.
d 9/5/2016
F Понедельник, 5 сентября 2016 года 12:01:02
е Понедельник, 5 сентября 2016 года 12:01
г 5/5/2016 12:01:02
г 5/5/2016 12:01
M Сентябрь 05
О 2016-09-05T00: 01: 02,3330000
р Пн, 05 сен 2016 00:01:02 GMT
s 2016-09-05T00: 01: 02
T 12:01:02 AM
T 12:01
U Понедельник, 5 сентября 2016 года 4:01:02
U 2016-09-05 00: 01: 02Z
Y Сентябрь 2016 года

Примечание. В приведенном выше списке используется культура en-US . Для FORMAT() через третий параметр можно указать другую культуру:

DECLARE @Date DATETIME = '2016-09-05 00:01:02.333'

SELECT FORMAT(@Date, N'U', 'zh-cn')

2016 年 9 月 5 日 4:01:02

Получить текущую дату

Встроенные функции GETDATE и GETUTCDATE возвращают текущую дату и время без смещения часового пояса.

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

Возвращаемое значение GETDATE представляет текущее время в том же часовом поясе, что и операционная система. Возвращаемое значение GETUTCDATE представляет текущее время UTC.

Любая функция может быть включена в предложение SELECT запроса или как часть логического выражения в WHERE .

Примеры:

-- example query that selects the current time in both the server time zone and UTC
SELECT GETDATE() as SystemDateTime, GETUTCDATE() as UTCDateTime

-- example query records with EventDate in the past.
SELECT * FROM MyEvents WHERE EventDate < GETDATE() 

Есть еще несколько встроенных функций, которые возвращают разные варианты текущего времени:

SELECT 
    GETDATE(),          --2016-07-21 14:27:37.447
    GETUTCDATE(),       --2016-07-21 18:27:37.447
    CURRENT_TIMESTAMP,  --2016-07-21 14:27:37.447
    SYSDATETIME(),      --2016-07-21 14:27:37.4485768
    SYSDATETIMEOFFSET(),--2016-07-21 14:27:37.4485768 -04:00
    SYSUTCDATETIME()    --2016-07-21 18:27:37.4485768

DATEADD для добавления и вычитания периодов времени

Общий синтаксис:

DATEADD (datepart , number , datetime_expr)  

Чтобы добавить меру времени, number должен быть положительным. Чтобы вычесть значение времени, number должно быть отрицательным.

Примеры

DECLARE @now DATETIME2 = GETDATE();
SELECT @now;                        --2016-07-21 14:39:46.4170000
SELECT DATEADD(YEAR, 1, @now)       --2017-07-21 14:39:46.4170000
SELECT DATEADD(QUARTER, 1, @now)    --2016-10-21 14:39:46.4170000
SELECT DATEADD(WEEK, 1, @now)       --2016-07-28 14:39:46.4170000
SELECT DATEADD(DAY, 1, @now)        --2016-07-22 14:39:46.4170000
SELECT DATEADD(HOUR, 1, @now)       --2016-07-21 15:39:46.4170000
SELECT DATEADD(MINUTE, 1, @now)     --2016-07-21 14:40:46.4170000
SELECT DATEADD(SECOND, 1, @now)     --2016-07-21 14:39:47.4170000
SELECT DATEADD(MILLISECOND, 1, @now)--2016-07-21 14:39:46.4180000

ПРИМЕЧАНИЕ. DATEADD также принимает аббревиатуры в параметре datepart . Использование этих сокращений обычно обескураживается, поскольку они могут вводить в заблуждение ( m vs mi , ww vs w и т. Д.).

Ссылка на детали даты

Это значения datepart доступные для функций даты и времени:

DatePart Сокращения
год yy, yyyy
четверть qq, q
месяц мм, м
DayOfYear dy, y
день dd, d
неделю wk, ww
будний день dw, w
час чч
минут mi, n
второй ss, s
миллисекунды Миз
микросекунда MCS
наносекунда нс

ПРИМЕЧАНИЕ . Использование сокращений обычно обескураживается, поскольку они могут вводить в заблуждение ( m vs mi , ww vs w и т. Д.). Длинная версия представления datepart способствует ясности и удобочитаемости и должна использоваться по возможности ( month , minute , week , weekday и т. Д.).

DATEDIFF для расчета разницы во времени

Общий синтаксис:

DATEDIFF (datepart, datetime_expr1, datetime_expr2)

Он вернет положительное число, если datetime_expr в прошлом datetime_expr2 к datetime_expr2 и отрицательное число в противном случае.

Примеры

DECLARE @now DATETIME2 = GETDATE();
DECLARE @oneYearAgo DATETIME2 = DATEADD(YEAR, -1, @now);
SELECT @now                                    --2016-07-21 14:49:50.9800000
SELECT @oneYearAgo                             --2015-07-21 14:49:50.9800000
SELECT DATEDIFF(YEAR, @oneYearAgo, @now)       --1
SELECT DATEDIFF(QUARTER, @oneYearAgo, @now)    --4
SELECT DATEDIFF(WEEK, @oneYearAgo, @now)       --52
SELECT DATEDIFF(DAY, @oneYearAgo, @now)        --366
SELECT DATEDIFF(HOUR, @oneYearAgo, @now)       --8784
SELECT DATEDIFF(MINUTE, @oneYearAgo, @now)     --527040
SELECT DATEDIFF(SECOND, @oneYearAgo, @now)     --31622400

ПРИМЕЧАНИЕ. DATEDIFF также принимает аббревиатуры в параметре datepart . Использование этих сокращений обычно обескураживается, поскольку они могут вводить в заблуждение ( m vs mi , ww vs w и т. Д.).

DATEDIFF также может использоваться для определения смещения между UTC и локальным временем SQL Server. Следующий оператор можно использовать для расчета смещения между временем по Гринвичу и местным временем (включая часовой пояс).

select  DATEDIFF(hh, getutcdate(), getdate()) as 'CentralTimeOffset'

DATEPART & DATENAME

DATEPART возвращает указанное число datepart указанного выражения datetime как числовое значение.

DATENAME возвращает строку символов, которая представляет заданную datepart в определенную дату. На практике DATENAME в основном полезен для получения названия месяца или дня недели.

Существуют также некоторые сокращенные функции для получения года, месяца или дня выражения datetime, которые ведут себя как DATEPART с их соответствующими единицами datepart .

Синтаксис:

DATEPART ( datepart , datetime_expr )
DATENAME ( datepart , datetime_expr )
DAY ( datetime_expr )
MONTH ( datetime_expr )
YEAR ( datetime_expr )

Примеры:

DECLARE @now DATETIME2 = GETDATE();
SELECT @now                       --2016-07-21 15:05:33.8370000
SELECT DATEPART(YEAR, @now)       --2016
SELECT DATEPART(QUARTER, @now)    --3
SELECT DATEPART(WEEK, @now)       --30
SELECT DATEPART(HOUR, @now)       --15
SELECT DATEPART(MINUTE, @now)     --5
SELECT DATEPART(SECOND, @now)     --33
-- Differences between DATEPART and DATENAME:
SELECT DATEPART(MONTH, @now)      --7
SELECT DATENAME(MONTH, @now)      --July
SELECT DATEPART(WEEKDAY, @now)    --5
SELECT DATENAME(WEEKDAY, @now)    --Thursday
--shorthand functions
SELECT DAY(@now)    --21
SELECT MONTH(@now)  --7
SELECT YEAR(@now)   --2016

ПРИМЕЧАНИЕ. DATEPART и DATENAME также принимают аббревиатуры в параметре datepart . Использование этих сокращений обычно обескураживается, поскольку они могут вводить в заблуждение ( m vs mi , ww vs w и т. Д.).

Получение последнего дня месяца

Используя функции DATEADD и DATEDIFF , можно вернуть последнюю дату месяца.

SELECT DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, '2016-09-23') + 1, 0))
-- 2016-09-30 00:00:00.000
SQL Server 2012

Функция EOMONTH обеспечивает более сжатый способ возврата последней даты месяца и имеет необязательный параметр для смещения месяца.

SELECT EOMONTH('2016-07-21')        --2016-07-31
SELECT EOMONTH('2016-07-21', 4)     --2016-11-30
SELECT EOMONTH('2016-07-21', -5)    --2016-02-29

Вернуть только дату из DateTime

Существует много способов вернуть дату из объекта DateTime

  1. SELECT CONVERT(Date, GETDATE())
  2. SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())) возвращается 2016-07-21 00: 00: 00.000
  3. SELECT CAST(GETDATE() AS DATE)
  4. SELECT CONVERT(CHAR(10),GETDATE(),111)
  5. SELECT FORMAT(GETDATE(), 'yyyy-MM-dd')

Обратите внимание, что опции 4 и 5 возвращают строку, а не дату.

Создать функцию для расчета возраста человека на определенную дату

Эта функция будет принимать 2 параметра datetime, DOB и дату для проверки возраста на

  CREATE FUNCTION [dbo].[Calc_Age]
    (
    @DOB datetime , @calcDate datetime 
    )
    RETURNS int
    AS
   BEGIN
declare @age int

IF (@calcDate < @DOB  )
RETURN -1

-- If a DOB is supplied after the comparison date, then return -1
SELECT @age = YEAR(@calcDate) - YEAR(@DOB) +
  CASE WHEN DATEADD(year,YEAR(@calcDate) - YEAR(@DOB)
  ,@DOB) > @calcDate THEN -1 ELSE 0 END
    

RETURN @age
    

END

например, чтобы проверить возраст сегодня кого-то, родившегося 1 / 1/2000

SELECT  dbo.Calc_Age('2000-01-01',Getdate())

ОБЪЕКТ ПРОГРАММЫ CROSS PLATFORM

SQL Server 2012

В Transact SQL вы можете определить объект как Date (или DateTime ), используя [DATEFROMPARTS][1] (или [DATETIMEFROMPARTS][1] ), например, следующую:

 DECLARE @myDate DATE=DATEFROMPARTS(1988,11,28) 
 DECLARE @someMoment DATETIME=DATEFROMPARTS(1988,11,28,10,30,50,123)

Параметры, которые вы предоставляете: Год, Месяц, День для функции DATEFROMPARTS а для функции DATETIMEFROMPARTS вам необходимо DATEFROMPARTS год, месяц, день, час, минуты, секунды и миллисекунды.

Эти методы полезны и заслуживают внимания, потому что использование простой строки для создания даты (или даты и времени) может привести к сбою в зависимости от настроек региона, местоположения или формата файла главной машины.

Формат даты расширенный

Формат даты Заявление SQL Образец вывода
YY-MM-DD SELECT RIGHT (CONVERT (VARCHAR (10), SYSDATETIME (), 20), 8) AS [YY-MM-DD]
SELECT REPLACE (CONVERT (VARCHAR (8), SYSDATETIME (), 11), '/', '-') AS [YY-MM-DD]
11-06-08
YYYY-MM-DD SELECT CONVERT (VARCHAR (10), SYSDATETIME (), 120) AS [YYYY-MM-DD]
SELECT REPLACE (CONVERT (VARCHAR (10), SYSDATETIME (), 111), '/', '-') AS [YYYY-MM-DD]
2011-06-08
YYYY-MD SELECT CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)) + '-' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (DAY (SYSDATETIME ()) AS VARCHAR ( 2)) AS [YYYY-MD] 2011-6-8
YY-MD SELECT RIGHT (CAST (YAAR (SYSDATETIME ()) AS VARCHAR (4)), 2) + '-' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (ДЕНЬ (SYSDATETIME ( )) AS VARCHAR (2)) AS [YY-MD] 11-6-8
MD-YYYY SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (YEAR (SYSDATETIME ()) AS VARCHAR ( 4)) AS [MD-YYYY] 6-8-2011
MD-YY SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '-' + RIGHT (CAST (YAAR (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [MD-YY] 6-8-11
DM-YYYY SELECT CAST (ДЕНЬ (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (YEAR (SYSDATETIME ()) AS VARCHAR ( 4)) AS [DM-YYYY] 8-6-2011
DM-YY SELECT CAST (ДЕНЬ (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '-' + RIGHT (CAST (YAAR (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [DM-YY] 8-6-11
YY-MM SELECT RIGHT (CONVERT (VARCHAR (7), SYSDATETIME (), 20), 5) AS [YY-MM]
SELECT SUBSTRING (CONVERT (VARCHAR (10), SYSDATETIME (), 120), 3, 5) AS [YY-MM]
11-06
YYYY-MM SELECT CONVERT (VARCHAR (7), SYSDATETIME (), 120) AS [YYYY-MM] 2011-06
YY-M SELECT RIGHT (CAST (YAAR (SYSDATETIME ()) AS VARCHAR (4)), 2) + '-' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) AS [YY-M] 11-6
YYYY-M SELECT CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)) + '-' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) AS [YYYY-M] 2011-6
MM-YY SELECT RIGHT (CONVERT (VARCHAR (8), SYSDATETIME (), 5), 5) AS [MM-YY]
SELECT SUBSTRING (CONVERT (VARCHAR (8), SYSDATETIME (), 5), 4, 5) AS [MM-YY]
06-11
MM-YYYY SELECT RIGHT (CONVERT (VARCHAR (10), SYSDATETIME (), 105), 7) AS [MM-YYYY] 06-2011
М-YY SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '-' + RIGHT (CAST (YAAR (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [M-YY] 6-11
M-YYYY SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)) AS [M-YYYY] 6-2011
MM-DD SELECT CONVERT (VARCHAR (5), SYSDATETIME (), 10) AS [MM-DD] 06-08
DD-MM SELECT CONVERT (VARCHAR (5), SYSDATETIME (), 5) AS [DD-MM] 08-06
Мэриленд SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (ДЕНЬ (SYSDATETIME ()) AS VARCHAR (2)) AS [MD] 6-8
DM SELECT CAST (ДЕНЬ (SYSDATETIME ()) AS VARCHAR (2)) + '-' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) AS [DM] 8-6
M / D / YYYY SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (YEAR (SYSDATETIME ()) AS VARCHAR ( 4)) AS [M / D / YYYY] 6/8/2011
М / Д / ГГ SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '/' + RIGHT (CAST (YAAR (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [M / D / YY] 6/8/11
Д / М / YYYY SELECT CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (YEAR (SYSDATETIME ()) AS VARCHAR ( 4)) AS [D / M / YYYY] 8/6/2011
Д / М / ГГ SELECT CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '/' + RIGHT (CAST (YAAR (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [D / M / YY] 8/6/11
YYYY / М / Д SELECT CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)) + '/' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (ДЕНЬ (SYSDATETIME ()) AS VARCHAR ( 2)) AS [YYYY / M / D] 2011/6/8
ГГ / М / Д SELECT RIGHT (CAST (YAAR (SYSDATETIME ()) AS VARCHAR (4)), 2) + '/' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (ДЕНЬ (SYSDATETIME ( )) AS VARCHAR (2)) AS [YY / M / D] 11/6/8
MM / YY SELECT RIGHT (CONVERT (VARCHAR (8), SYSDATETIME (), 3), 5) AS [MM / YY] 06/11
MM / YYYY SELECT RIGHT (CONVERT (VARCHAR (10), SYSDATETIME (), 103), 7) AS [MM / YYYY] 06/2011
М / ГГ SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '/' + RIGHT (CAST (YAAR (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [M / YY] 6/11
М / YYYY SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)) AS [M / YYYY] 6/2011
YY / MM SELECT CONVERT (VARCHAR (5), SYSDATETIME (), 11) AS [YY / MM] 11/06
YYYY / MM SELECT CONVERT (VARCHAR (7), SYSDATETIME (), 111) AS [YYYY / MM] 2011/06
ГГ / М SELECT RIGHT (CAST (YAAR (SYSDATETIME ()) AS VARCHAR (4)), 2) + '/' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) AS [YY / M] 11/6
YYYY / М SELECT CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)) + '/' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) AS [YYYY / M] 2011/6
MM / DD SELECT CONVERT (VARCHAR (5), SYSDATETIME (), 1) AS [MM / DD] 06/08
DD / MM SELECT CONVERT (VARCHAR (5), SYSDATETIME (), 3) AS [DD / MM] 08/06
М / Д SELECT CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (ДЕНЬ (SYSDATETIME ()) AS VARCHAR (2)) AS [M / D] 6/8
Д / М SELECT CAST (ДЕНЬ (SYSDATETIME ()) AS VARCHAR (2)) + '/' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) AS [D / M] 8/6
MM.DD.YYYY SELECT REPLACE (CONVERT (VARCHAR (10), SYSDATETIME (), 101), '/', '.') AS [MM.DD.YYYY] 06.08.2011
MM.DD.YY SELECT REPLACE (CONVERT (VARCHAR (8), SYSDATETIME (), 1), '/', '.') AS [MM.DD.YY] 06.08.11
MDYYYY SELECT CAST (МЕСЯЦ (SYSDATETIME ()) AS VARCHAR (2)) + '.' + CAST (ДЕНЬ (SYSDATETIME ()) AS VARCHAR (2)) + '.' + CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)) AS [MDYYYY] 6.8.2011
MDYY SELECT CAST (МЕСЯЦ (SYSDATETIME ()) AS VARCHAR (2)) + '.' + CAST (ДЕНЬ (SYSDATETIME ()) AS VARCHAR (2)) + '.' + ПРАВО (CAST (ГОД (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [MDYY] 6.8.11
ДД.ММ.ГГГГ SELECT CONVERT (VARCHAR (10), SYSDATETIME (), 104) AS [DD.MM.YYYY] 08.06.2011
DD.MM.YY SELECT CONVERT (VARCHAR (10), SYSDATETIME (), 4) AS [DD.MM.YY] 08.06.11
DMYYYY SELECT CAST (ДЕНЬ (SYSDATETIME ()) AS VARCHAR (2)) + '.' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '.' + CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)) AS [DMYYYY] 8.6.2011
DMYY SELECT CAST (ДЕНЬ (SYSDATETIME ()) AS VARCHAR (2)) + '.' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '.' + ПРАВО (CAST (ГОД (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [DMYY] 8.6.11
YYYY.MD SELECT CAST (ГОД (SYSDATETIME ()) AS VARCHAR (4)) + '.' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '.' + CAST (ДЕНЬ (SYSDATETIME ()) AS VARCHAR (2)) AS [YYYY.MD] 2011.6.8
YY.MD SELECT RIGHT (CAST (ГОД (SYSDATETIME ()) AS VARCHAR (4)), 2) + '.' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) + '.' + CAST (ДЕНЬ (SYSDATETIME ()) AS VARCHAR (2)) AS [YY.MD] 11.6.8
MM.YYYY SELECT RIGHT (CONVERT (VARCHAR (10), SYSDATETIME (), 104), 7) AS [MM.YYYY] 06,2011
мм.гг SELECT RIGHT (CONVERT (VARCHAR (8), SYSDATETIME (), 4), 5) AS [MM.YY] 06,11
M.YYYY SELECT CAST (МЕСЯЦ (SYSDATETIME ()) AS VARCHAR (2)) + '.' + CAST (YEAR (SYSDATETIME ()) AS VARCHAR (4)) AS [M.YYYY] 6,2011
M.YY SELECT CAST (МЕСЯЦ (SYSDATETIME ()) AS VARCHAR (2)) + '.' + ПРАВО (CAST (ГОД (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [M.YY] 6,11
YYYY.MM SELECT CONVERT (VARCHAR (7), SYSDATETIME (), 102) AS [YYYY.MM] 2011,06
YY.MM SELECT CONVERT (VARCHAR (5), SYSDATETIME (), 2) AS [YY.MM] 11,06
YYYY.M SELECT CAST (ГОД (SYSDATETIME ()) AS VARCHAR (4)) + '.' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) AS [YYYY.M] 2011,6
YY.M SELECT RIGHT (CAST (ГОД (SYSDATETIME ()) AS VARCHAR (4)), 2) + '.' + CAST (MONTH (SYSDATETIME ()) AS VARCHAR (2)) AS [YY.M] 11,6
MM.DD SELECT RIGHT (CONVERT (VARCHAR (8), SYSDATETIME (), 2), 5) AS [MM.DD] 06,08
DD.MM SELECT CONVERT (VARCHAR (5), SYSDATETIME (), 4) AS [DD.MM] 08,06
ММДДГГГГ SELECT REPLACE (CONVERT (VARCHAR (10), SYSDATETIME (), 101), '/', '') AS [MMDDYYYY] 06082011
MMDDYY SELECT REPLACE (CONVERT (VARCHAR (8), SYSDATETIME (), 1), '/', '') AS [MMDDYY] 060811
DDMMYYYY SELECT REPLACE (CONVERT (VARCHAR (10), SYSDATETIME (), 103), '/', '') AS [DDMMYYYY] 08062011
DDMMYY SELECT REPLACE (CONVERT (VARCHAR (8), SYSDATETIME (), 3), '/', '') AS [DDMMYY] 080611
MMYYYY SELECT RIGHT (REPLACE (CONVERT (VARCHAR (10), SYSDATETIME (), 103), '/', ''), 6) AS [MMYYYY] 062011
MMYY SELECT RIGHT (REPLACE (CONVERT (VARCHAR (8), SYSDATETIME (), 3), '/', ''), 4) AS [MMYY] 0611
ГГГГММ SELECT CONVERT (VARCHAR (6), SYSDATETIME (), 112) AS [YYYYMM] 201106
YYMM SELECT CONVERT (VARCHAR (4), SYSDATETIME (), 12) AS [YYMM] 1106
Месяц DD, ГГГГ SELECT DATENAME (MONTH, SYSDATETIME ()) + '' + RIGHT ('0' + DATENAME (DAY, SYSDATETIME ()), 2) + ',' + DATENAME (YEAR, SYSDATETIME ()) AS [Month DD, YYYY] 08 июня 2011 г.
Пн ГГГГ SELECT LEFT (DATENAME (MONTH, SYSDATETIME ()), 3) + '' + DATENAME (YEAR, SYSDATETIME ()) AS [Mon YYYY] Июн 2011
Месяц ГГГГ SELECT DATENAME (MONTH, SYSDATETIME ()) + '' + DATENAME (YEAR, SYSDATETIME ()) AS [Месяц ГГГГ] Июнь 2011 г.
Месяц DD SELECT RIGHT ('0' + DATENAME (DAY, SYSDATETIME ()), 2) + '' + DATENAME (MONTH, SYSDATETIME ()) AS [DD Month] 08 июня
Месяц DD SELECT DATENAME (MONTH, SYSDATETIME ()) + '' + RIGHT ('0' + DATENAME (DAY, SYSDATETIME ()), 2) AS [Month DD] 08 июня
DD Месяц YY SELECT CAST (DAY (SYSDATETIME ()) AS VARCHAR (2)) + '' + DATENAME (MM, SYSDATETIME ()) + '' + RIGHT (CAST (YAAR (SYSDATETIME ()) AS VARCHAR (4)), 2) AS [месяц DDYY] 08 июня 11
DD Месяц ГГГГ SELECT RIGHT ('0' + DATENAME (DAY, SYSDATETIME ()), 2) + '' + DATENAME (MONTH, SYSDATETIME ()) + '' + DATENAME (YEAR, SYSDATETIME ()) AS [DD Month YYYY] 08 июня 2011 г.
Пн-YY SELECT REPLACE (ПРАВО (КОНВЕРТ (VARCHAR (9), SYSDATETIME (), 6), 6), '', '-') AS [Mon-YY] Июнь-08
Пн-YYYY ВЫБРАТЬ ЗАМЕНИТЬ (ПРАВО (КОНВЕРТ (VARCHAR (11), SYSDATETIME (), 106), 8), '', '-') AS [Mon-YYYY] Июнь-2011
DD-пн-YY SELECT REPLACE (CONVERT (VARCHAR (9), SYSDATETIME (), 6), '', '-') AS [DD-Mon-YY] 08-Jun-11
DD-YYYY пн- SELECT REPLACE (CONVERT (VARCHAR (11), SYSDATETIME (), 106), '', '-') AS [DD-Mon-YYYY] 08-Июнь-2011


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow