sql: МЕЖДУ v1 И v2

То, что 100%-е покрытие является мифом, который это, не означает, что 80%-е покрытие бесполезно. Цель, конечно, составляет 100%, и между модульными тестами и затем интеграционными тестами, можно приблизиться к ней.

то, Что невозможно в поблочном тестировании, предсказывает весь полностью странный вещи, которые Ваши клиенты сделают к продукту. Как только Вы начинаете обнаруживать эти ошеломляющие извращения своего кода, удостоверьтесь, что прокрутили тесты для них назад в набор тестов.

5
задан törzsmókus 20 November 2017 в 09:23
поделиться

3 ответа

SQL Server 2008:

select 1 
where 5 between 1 and 7

1 результат

select 1 
where 5 between 7 and 1

0 результатов

На основе этих результатов и Postgre Docs я бы предположил, что стандарт ANSI следующим образом (хотя я не могу найти этот документ).

a between x and y
==
a >= x AND a <= y

ОБНОВЛЕНИЕ:

В спецификации SQL-92 говорится (цитата):

"X BETWEEN Y AND Z" is equivalent to "X>=Y AND X<=Z"
11
ответ дан 18 December 2019 в 06:23
поделиться

Да, вы правы, это только синтаксический сахар для упомянутой вами конструкции.

3
ответ дан 18 December 2019 в 06:23
поделиться

Да! Порядок аргументов в предикате BETWEEN имеет значение. И, да, это [в основном] синтаксический сахар для формы сравнения AND-ed.

Вышеупомянутое «в основном» исходит из того факта, что, хотя логически эквивалентны , два выражения могут (вероятно, в прошлое ...) получить четкий план запроса на некоторых серверах SQL. Можно с уверенностью предположить, что в настоящее время большинство серверов обеспечивают оптимальную обработку этого типа фильтра, независимо от его формы.

11
ответ дан 18 December 2019 в 06:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: