2. Запишите оператор SQL, возвращающий из таблицы EMPLOYEEJTBL названия городов и число проживающих в них служащих. Добавьте в оператор ключевое слово HAVING, чтобы в выводе отобразить только те города, в которых проживает более двух служащих из числа тех, информация о которых имеется в таблице.
Из этого урока вы узнаете, как можно менять представление получаемых в запросе данных с помощью целого ряда функций. Некоторые из этих функций определены стандартом ANSI, другие же основаны на стандартных или являются вариациями функций, чаще всего используемых в реализациях SQL.
Основными на этом уроке будут следующие темы.
• Обзор функций для работы со строками символов
• Как и когда используются функции для работы со строками
• Примеры функций, определяемых ANSI SQL
• Примеры функций, общих для основных реализаций SQL
• Обзор функций преобразования
• Как и когда используются функции преобразования
В результате конкатенации строк джон и СМИТ получается строка джон СМИТ.
Д ДЖОН ДЖО ОН СОН
Для посимвольной трансляции строк (т е замены одних символов на другие) используется функция TRANSLATE Обычно функция TRANSLATE имеет три аргумента конвертируемую строку, список заменяемых символов и список символов, на которые заменяются символы из первого списка Примеры использования функции будут рассмотрены позже
Функции для работы со строками используются для того, чтобы сравнивать, соединять, искать строки и выделять сегменты строк или значений столбцов В распоряжении программиста SQL предлагает целый ряд таких функций
В следующих разделах мы рассмотрим использование концепций ANSI в основных реализациях SQL, к которым относятся Oracle, Sybase, SQLBase, Informix и SQL Server
Обсуждаемые в данной книге концепции ANSI являются не более, чем концепциями Предлагаемые ANSI стандарты являются только рекомендациями, которые должны использовать и учитывать разработчики при создании реализаций SQL для реляционных баз данных В связи с этим, всегда помните о том, что обсуждаемые здесь функции не обязательно должны в точности соответствовать тем, которые вы найдете в используемой вами конкретной реализации SQL Конечно, подходы будут совпадать и работать функции будут практически так же, но вот имена функций и их синтаксис могут оказаться другими
Конкатенация, как и многие другие функции, в разных реализациях SQL представлена по-разному Вот примеры использования конкатенации в Oracle и SQL Server
SELECT 'ДЖОН' || 'СОН' возвратит ДЖОНСОН
SELECT 'ДЖОH' + 'СОН' возвратит ДЖОНСОН
Синтаксис использования конкатенации в Oracle следующий
ИМЯ_СТРОКИ || ["II] ИМЯ_СТРОКИ [ ИМЯ_СТРОКИ ]
Синтаксис использования конкатенации в SQL Server следующий.
ИМЯ_СТРОКИ + [ " + ] ИМЯ_СТРОКИ [ ИМЯ_СТРОКИ ]
SELECT CITY + STATE Этот оператор SQL Server объединяет названия
FROM EMPLOYEEJTBL; города и штата в одну строку
SELECT CITY ||', '|| STATE Этот оператор Oracle объединяет названия го-
FROM EMPLOYEE_TBL; рода и штата в одну строку, помещая междуними запятую
SELECT CITY + ' ' + STATE Этот оператор SQL Server объединяет названия
FROM EMPLOYEE_TBL; города и штата в одну строку, помещая между ними пробел
Пример
SELECT LAST_NAME || ', ' || FIRST_NAME
FROM EMPLOYEEJTBL;
NAME
STEPHENS, TINA
PLEW, LINDA
GLASS, BRANDON
GLASS, JACOB
WALLACE, MARIAH
SPURGEON, TIFFANY
6 строк выбраны.
Обратите внимание на использование одиночных кавычек и запятой в этом операторе SQL Используя кавычки в строку можно добавить почти любой символ В некоторых реализациях SQL вместо одиночных кавычек могут использоваться двойные
Функция TRANSLATE заменяет символы в строке символов в соответствии