SQLсервер в Linux -самостоятельное освоение пакета

         

Базовые строковые операторы



Таблица 5.1. Базовые строковые операторы



Оператор

Синтаксис

Описание

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

! =

'строка!' != ' строка2'

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

о

'строка!' <> ' строка2'

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

<

'строка!' < ' строка2'

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

<=

'строка!' <= ' строка2'

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

>

'строка!' > ' строка2'

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

>=

'строка!' >= ' строка2'

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

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

booktown=# SELECT letter, ascii(letter)

booktown-# FROM text_sorting

booktown-# ORDER BY letter ASC;

letter ascii

0 48

1 49

2 50

3 51

A 65

В 66

С 67

D 68

a 97

b 98

с 99

d I 100

(12 rows)

Если вы не уверены в порядке сортировки того или иного символа, воспользуйтесь функцией ascii О для получения его ASCII-кода (функция asci i () описана ниже в разделе «Функции»). В листинге 5.3 из таблицы books выбираются названия всех книг, первая буква которых при сортировке предшествует символу «D».



Содержание раздела