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);
Приведенный выше запрос возвращает следующие записи.