Поделиться через


Функции даты и времени

Поставщик данных .NET Framework для SQL Server (SqlClient) предоставляет функции даты и времени, которые выполняют операции с входным значением типа System.DateTime и возвращают значение типа stringSystem.DateTime или числовое значение. Эти функции находятся в пространстве имен SqlServer, которое доступно при использовании SqlClient. Свойство пространства имен поставщика позволяет платформе Entity Framework узнать, какой префикс используется поставщиком для конкретных конструкций, таких как типы или функции. В следующей таблице показаны функции даты и времени SqlClient.

Function Description
DATEADD(datepart, number, date) возвращает новое значение типа DateTime, получаемое за счет добавления интервала к указанной дате.

Аргументы

datepart: значение String, указывающее часть даты, для которой должно быть возвращено новое значение.

number: значение Int32, Int64, Decimal или Double, используемое для увеличения значения datepart.

date:Выражение, возвращающее DateTimeили DateTimeOffsetTime с точностью = [0-7], или символьную строку в формате даты.

Возвращаемое значение

Новое значение DateTime, DateTimeOffset или Time с точностью = [0-7].

Пример

SqlServer.DATEADD('day', 22, cast('6/9/2006' as DateTime))
DATEDIFF(datepart,startdate,enddate) Возвращает числовое значение границ дат или времени между двумя указанными датами.

Аргументы

datepart: значение String, представляющее часть даты, по которой должна быть вычислена разность.

startdate: начальная дата для вычисления выражения, которое возвращает значение DateTime, DateTimeOffset или Time с точностью = [0-7], либо символьная строка в формате даты.

enddate:Конечной датой вычисления является выражение, возвращающее DateTimeзначение или DateTimeOffsetTime значение с точностью = [0-7], или символьная строка в формате даты.

Возвращаемое значение

Объект Int32.

Пример

SqlServer.DATEDIFF('day', cast('6/9/2006' as DateTime),

cast('6/20/2006' as DateTime))
DATENAME(datepart, date) Возвращает символьную строку, содержащую заданную часть указанной даты.

Аргументы

datepart: значение String, указывающее часть даты, для которой должно быть возвращено новое значение.

date: выражение, которое возвращает значение DateTime,, DateTimeOffset или Time с точностью = [0-7], либо символьная строка в формате даты.

Возвращаемое значение

Символьная строка, содержащая заданную часть указанной даты.

Пример

SqlServer.DATENAME('year', cast('6/9/2006' as DateTime))
DATEPART(datepart, date) Возвращает целое число, представляющее указанную часть даты.

Аргументы

datepart: значение String, указывающее часть даты, для которой должно быть возвращено новое значение.

date: выражение, которое возвращает значение DateTime,, DateTimeOffset, или Time с точностью = [0-7], либо символьная строка в формате даты.

Возвращаемое значение

Заданная часть указанной даты в виде значения типа Int32.

Пример

SqlServer.DATEPART('year', cast('6/9/2006' as DateTime))
DAY(date) Возвращает день указанной даты в виде целого числа.

Аргументы

date:Выражение типа DateTime или DateTimeOffset с точностью = 0-7.

Возвращаемое значение

День указанной даты в виде значения типа Int32.

Пример

SqlServer.DAY(cast('6/9/2006' as DateTime))
GETDATE() Возвращает текущую дату и время во внутреннем формате SQL Server для значений datetime.

Возвращаемое значение

Текущее значение системных даты и времени в виде значения типа DateTime с точностью 3.

Пример

SqlServer.GETDATE()
GETUTCDATE() Возвращает значение datetime в формате UTC (универсальное синхронизированное время или среднее время по Гринвичу).

Возвращаемое значение

Значение DateTime с точностью 3 в формате UTC.

Пример

SqlServer.GETUTCDATE()
MONTH(date) Возвращает месяц заданной даты в виде значения целочисленного типа.

Аргументы

date:Выражение типа DateTime или DateTimeOffset с точностью = 0-7.

Возвращаемое значение

Месяц заданной даты в виде значения типа Int32.

Пример

SqlServer.MONTH(cast('6/9/2006' as DateTime))
YEAR(date) Возвращает год заданной даты в виде значения целочисленного типа.

Аргументы

date:Выражение типа DateTime или DateTimeOffset с точностью = 0-7.

Возвращаемое значение

Год указанной даты в виде значения типа Int32.

Пример

SqlServer.YEAR(cast('6/9/2006' as DateTime))
SYSDATETIME() Возвращает значение DateTime с точностью 7.

Возвращаемое значение

Значение DateTime с точностью 7.

Пример

SqlServer.SYSDATETIME()
SYSUTCDATE() Возвращает значение datetime в формате UTC (универсальное синхронизированное время или среднее время по Гринвичу).

Возвращаемое значение

Значение типа DateTime с точностью 7 в формате UTC.

Пример

SqlServer.SYSUTCDATE()
SYSDATETIMEOFFSET() Возвращает значение типа DateTimeOffset с точностью 7.

Возвращаемое значение

Значение типа DateTimeOffset с точностью 7 в формате UTC.

Пример

SqlServer.SYSDATETIMEOFFSET()

Дополнительные сведения о функциях даты и времени, поддерживаемых SqlClient, см. в разделе "Типы и функции данных даты и времени" (Transact-SQL).

См. также