Читаем SQL за 24 часа полностью

[ начальная позиция поиска [ , номер появления ] ]);

Пример______________________________Значение_______________

SELECT INSTR (STATE, ' I ', 1, 1) Этот оператор SQL для каждого названия

FROM EMPLOYEE_TBL; штата из таблицы EMPLOYEE_TBL возвраща-

ет номер позиции, в которой первый раз

встречается буква I

SELECT PROD_DESC,

INSTR(PROD_DESC,'A',1,1)

FROM PRODUCTSJTBL;

PROD_DESC INSTR(PROD_DESC, 'A',1,1)

КОСТЮМ ВЕДЬМЫ О

ПЛАСТИКОВЫЕ ТЫКВЫ 3

ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ 16

ФОНАРИ 4

КОСТЮМЫ В АССОРТИМЕНТЕ 11

СЛАДКАЯ КУКУРУЗА 3

ТЫКВЕННЫЕ КОНФЕТЫ О

ПЛАСТИКОВЫЕ ПАУКИ 3

МАСКИ В АССОРТИМЕНТЕ 2

ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ 7

ПОЛОЧКА ИЗ ДУБА 7

11 строк выбраны.

Обратите внимание на то, что в том случае, когда символ А в строке не найден, для позиции возвращается значение 0.

Функция LTRIM

Функция LTRIM представляет еще одну возможность для выделения части строки. Эта функция относится к тому же семейству, что и функция SUBSTRING. Функция LTRIM обрезает заданное множество символов с начала строки.

Синтаксис соответствующего оператора следующий.

LTRIM(строка символов, [ , 'множество символов' ]);

Пример_________________________________Значение___________

SELECT LTRIM(FIRST_NAME, ' LES') Этот оператор SQL обрезает символы

LES FROM CUSTOMERJTBL в начале всех имен LESLIE

WHERE FIRST_NAME = 'LESLIE';

SELECTPOSITION, LTRIM(POSITION,'SALES')

FROM EMPLOYEE_PAY_TBL;

POSITION LTRIM(POSITION,

MARKETING MARKETING

TEAM LEADER TEAM LEADER

SALES MANAGER MANAGER

SALESMAN MAN

SHIPPER HIPPER

SHIPPER HIPPER

6 строк выбраны.

В строке SHIPPER была обрезана буква S, хотя эта строка и не содержит подстроку SALES. В данном случае первые четыре символа строки SALES были проигнорированы. Искомые символы должны встречаться в строке именно в заданном порядке и находиться с самого левого края строки. Другими словами, функция LTRIM срезает в строке все символы слева до последнего символа искомой строки включительно.

Функция RTRIM

Подобно LTRIM, функция RTRIM обрезает заданное множество символов в конце строки.

Синтаксис соответствующего оператора следующий.

RTRIM(CTpoKa символов, [ , 'множество символов' ]);

Пример_______________________________________Значение______

SELECT RTRIM(FIRST_NAME, 'ON' ) Этот оператор SQL возвращает имя

FROM EMPLOYEEJTBL BRANDON и обрезает символы ON в конце,

WHERE FIRST_NAME = ' BRANDON ' ; остается только BRAND

SELECT POSITION, RTRIM(POSITION,'ER')

FROM EMPLOYEE_PAY_TBL;

POSITION RTRIM(POSITION,

MARKETING MARKETING

TEAM LEADER TEAM LEAD

SALES MANAGER SALES MANAG

ALESMAN SALESMAN

SHIPPER SHIPP

SHIPPER SHIPP

6 строк выбраны.

Здесь строка ER была обрезана в конце всех подходящих строк.

Функция DECODE

Функция DECODE к стандартным функциям ANSI не относится - по крайней мере, на момент написания данной книги, - но ее использование обсуждается здесь ввиду предоставляемых ею больших возможностей. Эта функция имеется в SQLBase, Oracle и, возможно, других реализациях SQL. Функция DECODE используется для поиска строк по заданному значению или строке, и если строка найдена, в результатах запроса отображается другая заданная строка.

Синтаксис соответствующего оператора следующий.

DECODE(имя столбца, 'искомая1', 'возвращаемая1'

[,'искомая2', 'возвращаемая2', 'значение по умолчанию']);

Пример____________________________Значение________________

SELECT DECODE (LAST_NAME, Этот запрос извлекает все фамилии из таблицы

'СМИТ', 'ДЖОНС', 'ДРУГОЕ') EMPLOYEE_TBL, причем вместо фамилии

FROM EMPLOYEE_TBL; СМИТ отображается ДЖОНС, а вместо любой

другой - значение по умолчанию, которым в данном

случае является значение ДРУГОЕ

В следующем примере функция DECODE используется по отношению к значениям столбца CITY таблицы EMPLOYEEJTBL.

SELECT CITY,

DECODE(CITY,'INDIANAPOLIS', 'INDY',

'GREENWOOD', 'GREEN', 'OTHER')

FROM EMPLOYEE _TBL;

CITY DECOD

GREENWOOD GREEN

INDIANAPOLIS INDY

WHITELAND OTHER

INDIANAPOLIS INDY

INDIANAPOLIS INDY

INDIANAPOLIS INDY

6 строк выбраны.

В результате вместо названия Индианаполиса отображается INDY, вместо Гринвуда отображается GREEN, а для любого другого города - OTHER.

Другие функции для работы со строками

В следующих разделах рассматриваются функции, о которых полезно знать. Опять же, эти функции оказываются общими для большинства основных реализаций SQL.

Выяснение длины значения

Для выяснения длины строки символов, числа, значения даты или выражения в байтах используется функция LENGTH.

Синтаксис соответствующего оператора следующий.

LENGTH(строка символов)

Пример____________________________Значение________________

SELECT LENGTH (LAST_NAME) Этот оператор SQL возвращает длину фами-

FROM EMPLOYEE_TBL; лии для каждого из служащих

SELECT PROD_DESC, LENGTH(PROD_DESC)

FROM PRODXCTS_TBL;

PROD_DESC LENGTH(PROD_DESC)

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных

Все жанры