SQL: Получить дату и время

Вот несколько способов получить текущую дату и время в Microsoft SQL Server. Можно использовать: CURRENT_TIMESTAMP, GETDATE(), {fn NOW()}

CURRENT_TIMESTAMP
CURRENT_TIMESTAMP это не недетерминированная функция. Представления и выражения, которые ссылаются  на эту колонку не могут быть проиндексированны. CURRENT_TIMESTAMP может использоваться что бы вывести текущую дату и время  в отчетах.

GETDATE()
GETDATE() это не недетерминированная функция. Представления и выражения, которые ссылаются  на эту колонку не могут быть проиндексированны. GETDATE() может использоваться что бы вывести текущую дату и время  в отчетах.

{fn Now()}
{fn Now()} это каноническая функция ODBC которая может быть использована в T-SQL поскольку OLE DB provider для SQL Server ее поддерживает. {fn Now()} может использоваться что бы вывести текущую дату и время  в отчетах.

Если вы запустите следующий скрипт в Query Analyzer или в Microsoft SQL Server Management Studio, вы получите некоторые результаты. Как вы видите нет различий в производительности для всех функций.

1
2
3
4
5
6
SELECT CURRENT_TIMESTAMP
GO
SELECT {fn NOW()}
GO
SELECT GETDATE()
GO
SELECT CURRENT_TIMESTAMP
GO
SELECT {fn NOW()}
GO
SELECT GETDATE()
GO

Результат выполниня:

Результат выполнения в SSMS

Результат выполнения в SSMS

Производительность:
Нет абсолютно никакой разницы, в производительности среди всех этих методов.

2 Responses

  1. Александр 05.08.2013 / 17:22

    А если мне нужно выбрать только текущую дату, без времени? К примеру, все записи за сегодняшнее число?

Добавить комментарий