PostgreSQL - Операторы

Что такое оператор в PostgreSQL?

Оператор - это зарезервированное слово или символ, используемый в основном в предложении WHERE оператора PostgreSQL для выполнения операции (операций), например сравнения и арифметических операций.

Операторы используются для указания условий в операторе PostgreSQL и служат в качестве союзов для нескольких условий в операторе.

  • Арифметические операторы
  • Операторы сравнения
  • Логические операторы
  • Побитовые операторы

Арифметические операторы PostgreSQL

Предположим переменную a содержит 2 и переменную b держит 3, то -

пример

Оператор Описание пример
+ Сложение - добавляет значения по обе стороны от оператора. a + b даст 5
- Вычитание - вычитает правый операнд из левого операнда. a - b даст -1
* Умножение - умножает значения по обе стороны от оператора. a * b даст 6
/ Деление - делит левый операнд на правый операнд б / у даст 1
% Модуль - делит левый операнд на правый и возвращает остаток b% a даст 1
^ Возведение в степень - дает значение экспоненты правого операнда a ^ b даст 8
| / квадратный корень | / 25.0 даст 5
|| / кубический корень || / 27.0 даст 3
! факториал 5! даст 120
!! факториал (префиксный оператор) !! 5 даст 120

Операторы сравнения PostgreSQL

Предположим, что переменная a содержит 10, а переменная b содержит 20, тогда -

Показать примеры

Оператор Описание пример
знак равно Проверяет, равны ли значения двух операндов или нет, если да, то условие становится истинным. (a = b) неверно.
знак равно Проверяет, равны ли значения двух операндов или нет, если значения не равны, условие становится истинным. (a! = b) верно.
<> Проверяет, равны ли значения двух операндов или нет, если значения не равны, условие становится истинным. (a <> b) верно.
> Проверяет, больше ли значение левого операнда, чем значение правого операнда, если да, то условие становится истинным. (a> b) неверно.
< Проверяет, меньше ли значение левого операнда, чем значение правого операнда, если да, то условие становится истинным. (a <b) верно.
> = Проверяет, больше ли значение левого операнда или равно значению правого операнда, если да, то условие становится истинным. (a> = b) неверно.
<= Проверяет, меньше ли значение левого операнда или равно значению правого операнда, если да, то условие становится истинным. (a <= b) верно.

Логические операторы PostgreSQL

Вот список всех логических операторов, доступных в PostgresSQL.

Показать примеры

С. Нет. Оператор и описание
1

AND

Оператор AND допускает наличие нескольких условий в предложении WHERE оператора PostgresSQL.

2

NOT

Оператор НЕ меняет значение логического оператора, с которым он используется. Например. НЕ СУЩЕСТВУЕТ, НЕ МЕЖДУ, НЕ В И т.д.This is negate operator.

3

OR

Оператор OR используется для объединения нескольких условий в предложении WHERE оператора PostgresSQL.

Операторы битовой строки PostgreSQL

Побитовый оператор работает с битами и выполняет побитовую операцию. Таблица истинности для & и | выглядит следующим образом -

п q p & q p | q
0 0 0 0
0 1 0 1
1 1 1 1
1 0 0 1

Допустим, если A = 60; и B = 13; теперь в двоичном формате они будут такими -

А = 0011 1100

В = 0000 1101

-----------------

A&B = 0000 1100

А | В = 0011 1101

~ А = 1100 0011

Показать примеры

Побитовые операторы, поддерживаемые PostgreSQL, перечислены в следующей таблице -

Оператор Описание пример
& Двоичный оператор И копирует бит в результат, если он существует в обоих операндах. (A и B) даст 12, что составляет 0000 1100
| Оператор двоичного ИЛИ копирует бит, если он существует в любом из операндов. (A | B) даст 61, что составляет 0011 1101
~ Оператор дополнения двоичных единиц является унарным и имеет эффект «переворачивания» битов. (~ A) даст -61, что составляет 1100 0011 в форме дополнения до 2 из-за двоичного числа со знаком.
<< Оператор двоичного левого сдвига. Значение левого операнда перемещается влево на количество битов, указанное правым операндом. << 2 даст 240, что составляет 1111 0000
>> Оператор двоичного сдвига вправо. Значение левого операнда перемещается вправо на количество битов, указанное правым операндом. A >> 2 даст 15, что равно 0000 1111
# побитовое XOR. A # B даст 49, что составляет 0100 1001