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 програмиране с помощта на примери. Можете също да прегледате и другите ни предложени статии, за да научите повече -

  1. Струнни функции в Java с примери
  2. Как да инсталирате PostgreSQL?
  3. Въпроси за интервю на PostgreSQL
  4. Функции на Regex в Python (пример)