Строковые функции PostgreSQL
PostgreSQL - очень мощная объектно-реляционная система управления базами данных. Он предоставляет большое количество функций и операторов для встроенных типов данных, тем самым освобождая разработчиков от более простых задач и сосредотачиваясь на решении более масштабной проблемы. Одной из таких категорий встроенных функций являются строковые функции PostgreSQL. Форматирование строк, такое как конкатенация, отображение в определенном формате, вставка / удаление подстрок и т. Д., Иногда может быть утомительной задачей. Об этом позаботятся строковые функции PostgreSQL.
PostgreSQL имеет много функций, которые не определены в стандартных функциях SQL. Это предоставляет разработчикам широкий круг функций, которые могут использовать для решения более масштабной проблемы.
Чтобы проиллюстрировать различные функции PostgreSQL String, нам сначала нужно создать базу данных. Следующая база данных будет использоваться во всех примерах:
Примеры строковых функций в PostgreSQL
Строковая функция проста в использовании. Здесь мы обсудим, как использовать строковую функцию в PostgreSQL
программирование с помощью примеров
1. ASCII (ул.)
Возвращает значение ASCII крайнего левого символа строки str.
SELECT FirstName, ASCII(FirstName) from Person
2. BIT_LENGTH (ул.)
Возвращает длину строки str в битах.
SELECT FirstName, BIT_LENGTH(FirstName) from Person
3. CHAR_LENGTH (str) / CHARACTER_LENGTH (str)
Возвращает длину строки str в символах.
SELECT FirstName, CHAR_LENGTH(FirstName) from Person
4. КОНКАТ (str1, str2, …., Strn)
Возвращает строку, образованную присоединением str1 к strn. Пустые аргументы игнорируются.
SELECT FirstName, LastName, CONCAT(FirstName, LastName) as DisplayName from Person
5. str1 || str2 ||… || non-str ||… || STRN
Объединяет str1, str2 в strn и даже не строковые аргументы.
SELECT Id || FirstName || LastName || phone || address as Concat_All from Person
6. INITCAP (ул.)
Строка заглавная, т.е. первая буква каждого слова в верхнем регистре, а остальные - в нижнем. Слова определяются не алфавитно-цифровыми разделителями.
Select INITCAP('This is a PostgreSQL example.')
7. НИЖНЯЯ () и ВЕРХНЯЯ ()
Преобразует строку в нижний и верхний регистр.
SELECT FirstName, LOWER(FirstName) as Lower, UPPER(FirstName) as Upper from Person
8. ВЛЕВО (ул., Лен) / ПРАВО (ул., Лен)
Возвращает самый левый и самый правый символы len из строки str. Когда len отрицательно, оно возвращает строку str за исключением крайних левых или правых символов len.
SELECT FirstName, LastName, CONCAT(LEFT(LastName, 3), RIGHT(FirstName, 2)) as LoginID from Person
9. ДЛИНА (str) / ДЛИНА (str, кодировка)
Возвращает длину строки str в символах. Это в отличие от операции функции длины в SQL, хотя. Если указано, кодировка обеспечивает длину в конкретной кодировке.
SELECT FirstName, LENGTH(FirstName), CHAR_LENGTH(FirstName) from Person
10. OCTET_LENGTH (str)
Вычисляет длину строки str в байтах.
SELECT FirstName, LENGTH(FirstName), CHAR_LENGTH(FirstName), OCTET_LENGTH(FirstName) from Person
Это очень похоже на функции LENGTH и CHAR_LENGTH. Разница возникает, когда задействованы многобайтовые символы.
SELECT '€' as multibyte_char, LENGTH('€'), CHAR_LENGTH('€'), OCTET_LENGTH('€')
Это происходит потому, что знак евро (€) занимает 3 байта в памяти.
11. LPAD (ул, лен, падстр) / RPAD (ул, лен, падстр)
Вставляет подстроку с позиции 0 строки padstr в начале и конце строки str до тех пор, пока результирующая строка не будет содержать символы len.
SELECT FirstName, LastName, LPAD(CONCAT_WS(' ', FirstName, LastName), CHAR_LENGTH(CONCAT_WS(' ', FirstName, LastName))+CHAR_LENGTH('Mr. '), 'Mr. ') as DisplayName from Person
12. LTRIM (str, символы) / RTRIM (str, символы) / TRIM (str, символы)
Возвращает строку str после обрезки всех вхождений char (s) слева, справа или с обоих концов. Если символы не указаны в аргументах, пробелы обрезаются.
SELECT LTRIM(' abc ') as L1, RTRIM(' abc ') as R1, TRIM(' abc ') as T1, LTRIM('xxxyyabcxyz', 'xyz') as L2, RTRIM('xxxyyabcxyz', 'xyz') as R2, TRIM('xxxyyabcxyz', 'xyz') as T2
13. ПОЗИЦИЯ (субстрат в стр.) / STRPOS (стр., Субстрат)
Находит позицию подстроки substr в строке str. Помните, индекс начинается с 1 в PostgreSQL. Возвращает 0, если совпадений не найдено.
SELECT Address, POSITION('Avenue' in Address) from Person
14. QUOTE_IDENT (str) / QUOTE_LITERAL (str)
Этот запрос заключает в кавычки и отменяет кавычки строку str. Большинство специальных символов удваиваются.
SELECT Address, QUOTE_IDENT(Address), QUOTE_LITERAL(Address) from Person
15. ЗАМЕНА (str, from_str, to_str)
Заменяет все вхождения подстроки from_str на подстроку to_str в строке str. Это с учетом регистра.
SELECT Address, REPLACE(Address, 's', 'SS') from Person
16. ОБРАТНАЯ (ул.)
Обращает строку ул.
SELECT FirstName, REVERSE(FirstName) from Person
17. REGEXP_MATCHES (str, pattern)
Возвращает все подстроки, которые соответствуют шаблону POSIX Regex.
SELECT Address, REGEXP_MATCHES(Address, '.(sN)i.') from Perso
18. REGEXP_REPLACE (str, pattern, newstr)
Заменяет все подстроки, которые соответствуют шаблону POSIX Regex, на newstr.
SELECT Address, REGEXP_MATCHES(Address, '..(e)(n)..'), REGEXP_REPLACE(Address, '..(e)(n)..', 'Street') from Person
19. REGEXP_SPLIT_TO_ARRAY (str, pattern)
Разбивает строку str на массив подстрок, разделенных шаблоном POSIX Regex. Шаблон E '\\ s +' означает один или несколько пробелов.
SELECT Address, REGEXP_SPLIT_TO_ARRAY(Address, E'\\s+') from Person
20. REGEXP_SPLIT_TO_TABLE (str, pattern)
Разбивает строку str на таблицу подстрок, разделенных шаблоном POSIX Regex.
SELECT Address, REGEXP_SPLIT_TO_TABLE(Address, E'\\s+') from Person
21. SUBSTRING (ул. От pos для len)
Возвращает подстроку из строки str, начиная с позиции pos длины len.
SELECT FirstName, SUBSTRING(FirstName from 2 for 4) as a sub from Person
22. SUBSTRING (строка из posix_pattern) / SUBSTRING (строка из sql_pattern для выхода)
Возвращает подстроку из строки str, которая соответствует регулярному выражению POSIX или регулярному выражению SQL. Regex - большая, замечательная и чрезвычайно полезная тема в компьютерах. Рекомендуется овладеть шаблонами Regex до того, как они будут беспорядочно реализованы.
SELECT FirstName, SUBSTRING(FirstName from '…$') as sub1, substring(FirstName from '%#"o_a#"_%' for '#') as sub2 from Person
Вывод - строковые функции PostgreSQL
Итак, в заключение, именно эти и другие встроенные функции делают PostgreSQL настолько мощным. Включение шаблонов регулярных выражений добавляет ему больше силы. Когда искусство написания шаблонов Regex будет изучено и освоено, играть с базой данных станет намного интереснее.
Рекомендуемые статьи
Это было руководство по функциям PostgreSQL String. Здесь мы обсудили, как использовать строковые функции в программировании на PostgreSQL с помощью примеров. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -
- Строковые функции в Java с примерами
- Как установить PostgreSQL?
- PostgreSQL Интервью Вопросы
- Функции регулярных выражений в Python (пример)