Временные таблицы - это новая функция в SQL Server 2016
и выше, для SQL Server
это интересный способ автоматического сохранения истории данных в таблице, однако есть некоторые новые T-SQLсинтаксис введен в SQL Server 2016
для поддержки временных таблиц.Я столкнулся с недопониманием некоторых из них.
Из официальной документации описание BETWEEN <start_date_time> AND <end_date_time>
выглядит следующим образом:
То же, что и выше в FOR SYSTEM_TIME FROMОписание TO, кроме возвращаемой таблицы строк, содержит строки, которые стали активными на верхней границе, определенной конечной точкой.
, а описание CONTAINED IN (<start_date_time>, <end_date_time>)
выглядит следующим образом: -
Возвращает таблицу со значениями для всех версий строк, которые были открыты и закрыты в течение указанного временного интервала, определенного двумя значениями datetime для аргумента CONTAINED IN.Строки, которые стали активными точно на нижней границе или перестали быть активными точно на верхней границе, включены.
, поэтому, как я понял, единственным предложением Различного между CONTAINED IN (@start,@end)
и BETWEEN
является CONTAINED IN (@start, @end)
включает в себя границу @start, а предложение BETWEEN
- нет.Я прав?