W Cat - SQL за 24 часа
- Название:SQL за 24 часа
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
W Cat - SQL за 24 часа краткое содержание
SQL за 24 часа - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Функция TRANSLATE заменяет символы в строке символов в соответствии с указанным правилом замены Правило замены определяется посимвольным соответствием пары заданных буквальных символьных значений Синтаксис оператора функции TRANSLATE Следующий
TRANSLATE(МНОЖЕСТВО СТРОК, ЗНАЧЕНИЕ1, ЗНАЧЕНИЕ2)
Пример______________________Значение_____________________
SELECT TRANSLATE Этот оператор SQL заменяет все имеющиеся в строке
(CITY, ' IND ' , 'ABC' символы I на А, N на В и D на С
FROM EMPLOYEEJTBL;
Вот пример использования функции TRANSLATE с реальными данными.
SELECT CITY, TRANSLATE(CITY,'IND",'ABC')
FROM EMPLOYEE_TBL;
CITY TRANSLATE(CI
GFEENWOOD GREEBWOOC
INDIANAPOLIS ABCAABAPOLAS
WHITELAND WHATELABC
INDIANAPOLIS ABCAABAPOLAS
INDIANAPOLIS ABCAABAPOLAS
INDIANAPOLIS ABCAABAPOLAS
6 строк выбраны.
Здесь все встречающиеся символы I заменены на А, N - на в и D - на с. В названии города INDIANAPOLIS подстрока IND была заменена на ABC, а в названии города GREENWOOD символ D был заменен на с. Обратите также внимание на то, каким образом транслировалось название города WHITELAND.
Функция REPLACE используется для замены в строке некоторого заданного символа (или строки символов) другим заданным символом (строкой символов). Используется эта функция подобно функции TRANSLATE, только здесь заданный символ или строка заменяется другим заданным символом или строкой.
Синтаксис соответствующего оператора следующий.
REPLACE''ЗНАЧЕНИЕ', 'ЗНАЧЕНИЕ', [ NULL ] 'ЗНАЧЕНИЕ'}
Пример _______________________ Значение ________________________
SELECT Этот оператор возвращает список имен, заменив в
REPLACE (FIRST_NAME, них все встречающиеся буквы т на в
'T' , 'B')
FROM EMPLOYEEJTBL;
SELECT CITY, REPLACE(CITY, 'I' , 'Z')
FROM EMPLOYEE_TBL;
CITY TRANSLATE(CI
GREENWOOD GREENWOOD
INDIANAPOLIS ZNDZANAPOLZS
WHITELAND WHZTELAND
INDIANAPOLIS ZNDZANAPOLZS
INDIANAPOLIS ZNDZANAPOLZS
INDIANAPOLIS ZNDZANAPOLZS
6 строк выбраны.
В большинстве реализаций SQL имеются средства для изменения регистра символов с помощью функций. Функция UPPER используется для изменения регистра символов заданной строки с нижнего на верхний.
Синтаксис соответствующего оператора следующий.
UPPER(строка символов)
Пример ___________________________ Значение _____________________
SELECT UPPER (LAST_NAME) Этот оператор изменяет регистр всех символов
FROM EMPLOYEE_TBL, в заданном столбце с нижнего на верхний
SELECT UPPER(CITY)
FROM EMPLOYEE_TBL;
UPPER(CITY)
GREENWOOD
INDIANAPOLIS
WHITELAND
INDIANAPOLIS
INDIANAPOLIS
INDIANAPOLIS
б строк выбраны.
В противоположность функции UPPER, функция LOWER используется для изменения регистра символов заданной строки с верхнего на нижний. Синтаксис соответствующего оператора следующий.
LOWER(строка символов)
Пример ____________________________ Значение ____________________
SELECT LOWER (LAST_NAME) Этот оператор изменяет регистр всех символов в
FROM EMPLOYEEJTBL, заданном столбце с верхнего на нижний
SELECT LOWER(CITY)
FROM EMPLOYEEJTBL;
LOWER(CITY)
greenwood
Indianapolis
whiteland
Indianapolis
indianapolis
indianapolis
6 строк выбраны.
Функции для выделения подстрок из строк имеются во всех реализациях SQL, но имена таких функций могут отличаться, как видно из следующих примеров для Oracle и SQL Server.
В Oracle синтаксис соответствующего оператора следующий.
SUBSTR(имя столбца, начальная позиция, длина)
В случае SQL Server синтаксис соответствующего оператора будет следующим.
SUBSTRING(имя столбца, начальная позиция, длина)
Как видите, отличаются только имена функций.
Пример __________________________________ Значение ___________
SELECT SUBSTRING (EMP_ID,1,3) Этот оператор SQL возвращает первые три
FROM EMPLOYEE_TBL; символа строки EMP_ID
SELECT SUBSTRING (EMP_ID,4,2) Этот оператор SQL возвращает четвертый
FROM EMPLOYEE_TBL; ипятый символы строки EMP_ID
SELECT SUBSTRING (EMP_ID,6,4) Этот оператор SQL возвращает символы
FROM EMPLOYEE_TBL; с шестого по девятый включительно
строки EMP_ID
Вот пример использования данной функции в SQL Server.
SELECT EMP_ID, SUBSTRING(EMP_ID,1,3)
FROM EMPLOYEE_TBL;
EMP__ID SUB
311549902 311
442346889 442
213764555 213
313782439 313
220984332 220
443679012 443
6 rows affected.
А вот пример использования данной функции в Oracle.
SELECT EMP_ID, SUBSTR(EMP_ID,1, 3)
FROM EMPLOYEEJTBL;
EMP_ID SUB
311549902 311
442346889 442
213764555 213
313782439 313
220984332 220
443679012 443
6 rows selected.
Обратите внимание на выводимые в этих двух случаях сообщения базы данных. В первом случае это 6 rows affected, а во втором - 6 rows selected. Оба сообщения имеют одинаковый смысл (6 строк выбраны), но такого рода отличия нередко можно увидеть при сравнении различных реализаций SQL.
Функция INSTR используется для поиска заданного множества символов в строке и возвращает позицию, в которой данное множество символов встретилось. Синтаксис соответствующего оператора следующий.
INSTR(имя строки, 'множество символов',
[ начальная позиция поиска [ , номер появления ] ]);
Пример ______________________________ Значение _______________
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 представляет еще одну возможность для выделения части строки. Эта функция относится к тому же семейству, что и функция SUBSTRING. Функция LTRIM обрезает заданное множество символов с начала строки.
Синтаксис соответствующего оператора следующий.
LTRIM(строка символов, [ , 'множество символов' ]);
Пример _________________________________ Значение ___________
SELECT LTRIM(FIRST_NAME, ' LES') Этот оператор SQL обрезает символы
LES FROM CUSTOMERJTBL в начале всех имен LESLIE
WHERE FIRST_NAME = 'LESLIE';
SELECT POSITION, 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 срезает в строке все символы слева до последнего символа искомой строки включительно.
Подобно LTRIM, функция RTRIM обрезает заданное множество символов в конце строки.
Читать дальшеИнтервал:
Закладка: