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


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

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

Функция Описание
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значение или DateTimeOffsetTime значение с точностью = [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() Создает значение даты и времени в формате 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() Создает значение даты и времени в формате UTC (согласованное универсальное время или среднее время Гринвича).

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

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

Пример

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

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

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

Пример

SqlServer.SYSDATETIMEOFFSET()

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

См. также