PostgreSQL стринг функции
PostgreSQL е много мощна обектно-релационна система за управление на база данни. Той осигурява голям брой функции и оператори за вградените типове данни, като по този начин освобождава разработчиците от по-прости задачи и се фокусира върху решението на по-големия проблем. Една такава категория вградени функции са стринг функциите PostgreSQL. Форматирането на струни като конкатенация, показване в определен формат, вмъкване / изтриване на подтези и др. Понякога може да бъде досадна задача. PostgreSQL низ функции се грижат за това вместо вас.
PostgreSQL има много функции, които не са дефинирани в стандартните SQL функции. Това предоставя на разработчиците огромен хоризонт от функции, които могат да използват за решаване на по-големия проблем.
За да илюстрираме различни функции на PostgreSQL String, първо трябва да създадем база данни. Следната база данни ще бъде посочена във всички примери:
Примери за струнни функции в PostgreSQL
Струнната функция е лесна за използване. Тук ще обсъдим как да използваме функция низ в PostgreSQL
програмиране с помощта на примери
1. ASCII (str)
Връща ASCII стойността на най-левия символ на стринга str.
SELECT FirstName, ASCII(FirstName) from Person
2. BIT_LENGTH (str)
Връща дължината на низа str в битове.
SELECT FirstName, BIT_LENGTH(FirstName) from Person
3. CHAR_LENGTH (str) / CHARACTER_LENGTH (str)
Връща дължината на низа str в символи.
SELECT FirstName, CHAR_LENGTH(FirstName) from Person
4. CONCAT (str1, str2, …., Strn)
Връща низ, образуван от присъединяването на str1 към strn. NULL аргументите се игнорират.
SELECT FirstName, LastName, CONCAT(FirstName, LastName) as DisplayName from Person
5. str1 || str2 ||… || не-str ||… || strn
Свързва str1, str2 в strn и дори неструнгови аргументи.
SELECT Id || FirstName || LastName || phone || address as Concat_All from Person
6. INITCAP (str)
Заглавието на главни букви, т.е. първата буква на всяка дума е с главни букви, а останалите са с малки букви. Думите се определят от небуквено-цифрови разделители.
Select INITCAP('This is a PostgreSQL example.')
7. НИСКО () и ГОРЕЩО ()
Преобразува низ в малки и малки букви.
SELECT FirstName, LOWER(FirstName) as Lower, UPPER(FirstName) as Upper from Person
8. НАЛЯВО (str, len) / НАДЯСНО (str, len)
Връща най-левите и най-десните знаци от лентата str. Когато len е отрицателен, той връща стринг стринга с изключение на най-левия или най-десния знак на len.
SELECT FirstName, LastName, CONCAT(LEFT(LastName, 3), RIGHT(FirstName, 2)) as LoginID from Person
9. LENGTH (str) / LENGTH (str, кодиране)
Връща дължината на низа str в символи. Това обаче е за разлика от функцията на Length в 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 (str, len, padstr) / RPAD (str, len, padstr)
Вмъква поднизово от позиция 0 на подстригания низ в началото и в края на стринга, докато полученият низ е от знаци 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, chars) / RTRIM (str, chars) / TRIM (str, chars)
Връща връвта на низ след подрязване на всички събития на знаци от ляво, дясно или от двата края. Ако символите не са посочени в аргументите, интервалите се подрязват.
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. ПОЗИЦИЯ (substr в str) / STRPOS (str, substr)
Намира позицията на субстрана 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)
Заменя всички събития на под-низ от_str с под-низ to_str в str str. Той е чувствителен към регистъра.
SELECT Address, REPLACE(Address, 's', 'SS') from Person
16. РЕВЕРС (str)
Обръща низа str.
SELECT FirstName, REVERSE(FirstName) from Person
17. REGEXP_MATCHES (str, модел)
Връща всички подредове, които съответстват на POSIX Regex модела.
SELECT Address, REGEXP_MATCHES(Address, '.(sN)i.') from Perso
18. REGEXP_REPLACE (str, модел, 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, модел)
Разделя string str в масив от подредове, разделени от POSIX Regex модел. Модел E '\\ s +' означава едно или повече празни интервали.
SELECT Address, REGEXP_SPLIT_TO_ARRAY(Address, E'\\s+') from Person
20. REGEXP_SPLIT_TO_TABLE (str, модел)
Разделя низовия str в таблица от подтези, разделени от POSIX Regex модел.
SELECT Address, REGEXP_SPLIT_TO_TABLE(Address, E'\\s+') from Person
21. SUBSTRING (str от pos за len)
Връща подреждане от низ низ, започващ от позиция pos на дължина len.
SELECT FirstName, SUBSTRING(FirstName from 2 for 4) as a sub from Person
22. SUBSTRING (str от posix_pattern) / SUBSTRING (str от sql_pattern за бягство)
Връща подстраница от string str, която съответства на POSIX Regex или SQL Regex. Regex е голяма, прекрасна и изключително полезна тема в компютрите. Препоръчва се да се захванете с модели на Regex, преди да ги внедрите случайно.
SELECT FirstName, SUBSTRING(FirstName from '…$') as sub1, substring(FirstName from '%#"o_a#"_%' for '#') as sub2 from Person
Заключение - Струнни функции PostgreSQL
И така, в заключение, тези заедно с други вградени функции са това, което прави PostgreSQL толкова мощен. Включването на регекс модели добавя повече сила към него. След като изкуството да пишете модели на Regex се усвои и овладее, играта с базата данни ще бъде много по-забавна.
Препоръчителни статии
Това е ръководство за PostgreSQL стринг функции. Тук обсъдихме как да използваме стринг функции в PostgreSQL програмиране с помощта на примери. Можете също да прегледате и другите ни предложени статии, за да научите повече -
- Струнни функции в Java с примери
- Как да инсталирате PostgreSQL?
- Въпроси за интервю на PostgreSQL
- Функции на Regex в Python (пример)