Из этого урока вы узнаете, как можно менять представление получаемых в запросе данных с помощью целого ряда функций. Некоторые из этих функций определены стандартом ANSI, другие же основаны на стандартных или являются вариациями функций, чаще всего используемых в реализациях SQL.
Основными на этом уроке будут следующие темы.
• Обзор функций для работы со строками символов
• Как и когда используются функции для работы со строками
• Примеры функций, определяемых ANSI SQL
• Примеры функций, общих для основных реализаций SQL
• Обзор функций преобразования
• Как и когда используются функции преобразования
Функции стандарта ANSI для работы со строками
Функции для работы с символьными строками используются в SQL для представления данных в формате, отличном от того, в котором эти данные хранятся в таблице базы данных. Сначала мы обсудим те функции, которые включены в стандарт ANSI, а затем рассмотрим примеры использования функций, предлагаемых основными реализациями SQL. Из функций, определяемых стандартом ANSI, мы рассмотрим CONCATENATION, SUBSTRING, TRANSLATE, REPLACE, UPPER И LOWER.
Конкатенация
Конкатенация - это соединение двух строк в одну. Например, можно соединить имя и фамилию персоны в одну строку.
В результате конкатенации строк джон и СМИТ получается строка джон СМИТ.
Выделение частей строки
Подстрока (substring) - это строка символов, входящая в данную строку, другими словами, часть данной строки Например, следующие строковые значения являются подстроками строки ДЖОНСОН
Д ДЖОН ДЖО ОН СОН
Трансляция
Для посимвольной трансляции строк (т е замены одних символов на другие) используется функция TRANSLATE Обычно функция TRANSLATE имеет три аргумента конвертируемую строку, список заменяемых символов и список символов, на которые заменяются символы из первого списка Примеры использования функции будут рассмотрены позже
Общие функции для работы со строками
Функции для работы со строками используются для того, чтобы сравнивать, соединять, искать строки и выделять сегменты строк или значений столбцов В распоряжении программиста SQL предлагает целый ряд таких функций
В следующих разделах мы рассмотрим использование концепций ANSI в основных реализациях SQL, к которым относятся Oracle, Sybase, SQLBase, Informix и SQL Server
Обсуждаемые в данной книге концепции ANSI являются не более, чем концепциями Предлагаемые ANSI стандарты являются только рекомендациями, которые должны использовать и учитывать разработчики при создании реализаций SQL для реляционных баз данных В связи с этим, всегда помните о том, что обсуждаемые здесь функции не обязательно должны в точности соответствовать тем, которые вы найдете в используемой вами конкретной реализации SQL Конечно, подходы будут совпадать и работать функции будут практически так же, но вот имена функций и их синтаксис могут оказаться другими
Конкатенация
Конкатенация, как и многие другие функции, в разных реализациях SQL представлена по-разному Вот примеры использования конкатенации в Oracle и SQL Server
Oracle__________
SELECT 'ДЖОН '|| 'СОН' возвратит ДЖОНСОН
SQL Server_____
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
Функция TRANSLATE заменяет символы в строке символов в соответствии с указанным правилом замены Правило замены определяется посимвольным соответствием пары заданных буквальных символьных значений Синтаксис оператора функции TRANSLATE Следующий
Читать дальше