Разница между CURRENT_TIMESTAMP и GETDATE ()

В чем разница между CURRENT_TIMESTAMP и GETDATE() в SQL Server?

SELECT CURRENT_TIMESTAMP, GETDATE()

person mehdi lotfi    schedule 15.06.2014    source источник


Ответы (1)


CURRENT_TIMESTAMP - это функция ANSI SQL, тогда как GETDATE - это версия этой же функции на языке T-SQL.

Однако следует отметить одну интересную вещь: CURRENT_TIMESTAMP преобразуется в GETDATE() при создании объекта в SSMS. Обе функции получают свое значение из операционной системы одинаковым образом.

CURRENT_TIMESTAMP - рекомендуемое использование, поскольку оно переносимо в любую ANSI-совместимую базу данных, а GETDATE() - нет.

РЕДАКТИРОВАТЬ - О производительности - между ними нет никакой разницы, потому что механизм SQL-SERVER преобразует CURRENT_TIMESTAMP в GETDATE(), поэтому вы фактически используете GETDATE().

см. здесь и здесь

person Luke Peterson    schedule 15.06.2014
comment
Есть ли ощутимая разница в производительности? Если я, скажем, генерирую записи журнала тысячами в секунду, мне может быть интересно, связаны ли с CURRENT_TIMESTAMP дополнительные накладные расходы. - person Ellesedil; 21.11.2014