П.5.1. Правила использования операторов
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Оператор работает с одним операндом или с двумя операндами. Большинство операторов работает с двумя операндами, между которыми ставится сам оператор (например, a + b). Такие операторы называются бинарными. Операторы, работающие с одним операндом, называются унарными; в этом случае оператор либо предшествует операнду, либо следует за ним.

Некоторые операторы имеют несколько интерпретаций в зависимости от типа данных, к которым они применяются. С другой стороны, часть операторов не имеет смысла для некоторых типов данных.

Например, оператор сложения (+) может использоваться для суммирования двух целочисленных величин, но он не может прибавить целое число к текстовой строке. В сообщениях о недопустимом использовании операторов в PostgreSQL указывается причина ошибки. Эта информация поможет устранить ошибку и внести необходимые исправления в команду.

 

П.5.2. Строковые операторы

 

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

=        Возвращает true, если первая строка точно совпадает со второй

!=      Возвращает true, если первая строка не совпадает со второй

<>      Идентичен оператору !=

<        Возвращает true, если при лексикографической сортировке первая строка предшествует второй

<=      Возвращает true, если при лексикографической сортировке первая строка предшествует второй или их значения совпадают

>        Возвращает true, если при лексикографической сортировке вторая строка предшествует первой

>=      Возвращает true, если при лексикографической сортировке вторая строка предшествует первой или их значения совпадают

 

Все операторы сравнения строк возвращают логическое значение (true или false). Лексикографическая сортировка последовательно сравнивает символы строк и определяет, какой из символов "больше" другого. Если начальные символы двух строк совпадают, проверяются следующие символы (слева направо). Перебор продолжается до тех пор, пока не будут найдены два различающихся символа. В этом алгоритме сортировки "больший" символ выбирается сравнением ASCII-кодов.

 

Конкатенация

Оператор конкатенации или, другими словами, оператор слияния (||) играет важную роль при форматировании выходных данных. Он может использоваться в командах SQL всюду, где могут использоваться константы. Допускается последовательная конкатенация строковых значений, для этого перечисляемые строковые константы или идентификаторы разделяются операторами ||.

Например,

SELECT 'The Title: ' || title ||
', by ' || first_name || ' ' || last_name

FROM books, authors

WHERE books.author_id = authors.id;

 


П.5.3. Числовые операторы

 

Числовые операторы PostgreSQL делятся на три категории:

· Математические операторы выполняют математическую операцию с одним или двумя операндами и возвращают значение числового типа.

· Операторы сравнения проверяют заданное соотношение между двумя числовыми величинами (например, что одна величина больше другой) и возвращают результат проверки в виде типа boolean.

· Двоичные операторы работают на уровне отдельных битов, то есть единиц и нулей в двоичном представлении.

 

Математические операторы

Математические операторы используются в целевых списках, в секции WHERE команды SELECT и вообще везде, где встречаются числовые данные.

Оператор Синтаксис Описание

+   a+b         Суммирование числовых величин a и b

-   a-b         Вычитание числовой величины b из a

*   a*b         Умножение числовых величин a и b

/   a/b         Деление числовой величины a на b

%   a%b         Остаток от деления a на b

^   a^b         Возведение a в степень b

|/  |/a         Квадратный корень из a

||/ ||/a       Кубический корень из a

!   a!           Факториал a

!!  !!a         Факториал a (отличается от постфиксного оператора только расположением)

@   @a           Модуль (абсолютное значение) a

 

Например, вычислим удельную прибыль по каждой книге. Частное от деления преобразуем к типу numeric с усечением до двух цифр в дробной части. Из результата вычтем единицу, чтобы результат выражался в доле меньше 1.

SELECT isbn,
(retail/cost)::numeric(3.2)-1 AS margin

FROM stock

ORDER BY margin DESC;

 


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

Операторы сравнения работают со значениями таких типов, как integer или text, но всегда возвращают результат типа boolean. Они часто встречаются в секции WHERE, но могут использоваться в любом контексте, в котором действителен тип boolean.

 

<            Возвращает true, если левое значение меньше правого

>            Возвращает true, если левое значение больше правого

<=          Возвращает true, если левое значение меньше правого или равно ему

>=          Возвращает true, если левое значение больше правого или равно ему

=            Возвращает true, если левое значение равно правому

<> или != Возвращает true, если левое значение не равно правому

 

Дата: 2019-02-19, просмотров: 219.