Функции манипулирования данными
- Что такое функция
- Использование функций
- Функции манипулирования текстом
- Функции манипулирования датой и временем
- Функции для манипулирования числами
Функции манипулирования текстом
В примере функций манипулирования текстом функция RTRIM () использовалась для удаления пробелов в конце значения столбца. Ниже приведен еще один пример, в котором используется функция UPPER ():
FROM Vendors
ORDER BY vend_name;
vend_name vend_name_upcase
--------------- ----------------------
Bear Emporium BEAR EMPORIUM
Beras R Us BERAS R US
Doll House Inc. DOLL HOUSE INC.
Fun and Games FUN AND GAMES
Furball Inc. FURBALL INC.
Jouets et ours JOUETS ET OURS
Функция UPPER () преобразует текст в верхний регистр и, таким образом, в этом примере имя каждого изготовителя перечислено дважды: первый раз в таком виде, в каком оно хранится в таблице Vendors, а второй раз — будучи преобразованным в верхний регистр, в виде столбца vend_name_upcase.
Один элемент из таблицы ниже требует более подробного объяснения. SOUNDEX — это алгоритм, преобразующий текстовую строку в буквенно-цифровой шаблон, описывающий фонетическое представление данного текста. Функция SOUNDEX берет в расчет похожие по звучанию буквы и слоги, позволяя сравнивать строки не по тому, как они пишутся, а по тому, как они звучат. Хотя SOUNDEX не подпадает под основные концепции SQL, большинство СУБД осуществляют поддержку этой функции.
| Функция | Описание |
| LEFT () (или функция под строки) | Возвращает символы из левой части строки |
| LENGTH (а также DATALENGTH() ИЛИ LEN()) | Возвращает длину строки |
| LOWER () | Преобразует строку в нижний регистр |
| LTRIM () (LCASE () в Access) | Удаляет пробелы в левой части строки |
| RIGHT () (или функция подстроки) | Возвращает символы из правой части строки |
| RTRIM () | Удаляет пробелы в правой части строки |
| SOUNDEX () | Возвращает значение SOUNDEX строки |
| UPPER () (UCASE в Access) | Преобразует текст строки в верхний регистр |
Поддержка SOUNDEX
Ниже приведён пример использования функции SOUNDEX (). Клиент Kids Place находится в таблице Customers и имеет контактное лицо Michael Green. Но что, если это опечатка и на самом деле контактное лицо пишется как Michael Green? Очевидно, поиск по корректному имени ничего не даст, это показано ниже:
FROM Customers
WHERE cust contract = 'Michael Green';
-----------------------------------------
cust_name cust_contract
А теперь попробуйте выполнить поиск при помощи функции SOUNDEX (), чтобы найти все имена контактных лиц, которые звучат как Michael Green:
FROM Customers
WHERE SOUNDEX (cust_contract) = SOUNDEX ('Michael Green');
cust_name custt_contract
--------------- ----------------------
Kids Place Michelle Green
В этом примере в предложении WHERE используется функция SOUNDEX () для преобразования значения столбца cust_contact и искомой строки в их SOUNDEX-значения. Так как Michael Green и Michelle Green звучат одинаково, их SOUNDEX-значения совпадут и предложение WHERE корректно отфильтрует необходимые данные.



