Учебники

Teradata — логические и условные операторы

Teradata поддерживает следующие логические и условные операторы. Эти операторы используются для сравнения и объединения нескольких условий.

Синтаксис Имея в виду
> Лучше чем
< Меньше, чем
> = Больше или равно
<= Меньше или равно
знак равно Равно
МЕЖДУ Если значения в пределах диапазона
В Если значения в <выражение>
НЕ В Если значения не в <выражение>
НУЛЕВОЙ Если значение равно NULL
НЕ НУЛЬ Если значение НЕ NULL
А ТАКЖЕ Объединить несколько условий. Оценивается как истинное, только если выполнены все условия
ИЛИ ЖЕ Объедините несколько условий. Оценивается как истинное, только если выполняется одно из условий.
НЕ Меняет смысл условия

МЕЖДУ

Команда BETWEEN используется для проверки, находится ли значение в диапазоне значений.

пример

Рассмотрим следующую таблицу сотрудников.

Сотрудник № Имя Фамилия JoinedDate DepartmentNo Дата рождения
101 Майк Джеймс 3/27/2005 1 1/5/1980
102 Роберт Williams 4/25/2007 2 3/5/1983
103 Питер Павел 3/21/2007 2 4/1/1983
104 Alex Стюарт 2/1/2008 2 11/6/1984
105 Роберт Джеймс 1/4/2008 3 12/1/1984

В следующем примере извлекаются записи с номерами сотрудников в диапазоне от 101,102 до 103.

SELECT EmployeeNo, FirstName FROM  
Employee 
WHERE EmployeeNo BETWEEN 101 AND 103;

Когда вышеуказанный запрос выполняется, он возвращает записи о сотрудниках с сотрудником № от 101 до 103.

*** Query completed. 3 rows found. 2 columns returned. 
*** Total elapsed time was 1 second. 
 EmployeeNo            FirstName 
-----------  ------------------------------ 
   101                   Mike 
   102                   Robert 
   103                   Peter

В

Команда IN используется для проверки значения по заданному списку значений.

пример

В следующем примере извлекаются записи с номерами сотрудников в 101, 102 и 103.

SELECT EmployeeNo, FirstName FROM  
Employee 
WHERE EmployeeNo in (101,102,103);

Приведенный выше запрос возвращает следующие записи.

*** Query completed. 3 rows found. 2 columns returned. 
*** Total elapsed time was 1 second.  
 EmployeeNo            FirstName 
-----------  ------------------------------ 
   101                   Mike 
   102                   Robert 
   103                   Peter

НЕ В

Команда NOT IN отменяет результат команды IN. Он извлекает записи со значениями, которые не соответствуют заданному списку.

пример

В следующем примере извлекаются записи с номерами сотрудников не в 101, 102 и 103.

SELECT * FROM  
Employee 
WHERE EmployeeNo not in (101,102,103);

Приведенный выше запрос возвращает следующие записи.