PostgreSQL-strängfunktioner

PostgreSQL är ett mycket kraftfullt databashanteringssystem för objektrelationer. Den tillhandahåller ett stort antal funktioner och operatörer för de inbyggda datatyperna, och därmed befriar utvecklarna från enklare uppgifter och fokuserar på lösningen på det större problemet. En sådan kategori av inbyggda funktioner är PostgreSQL-strängfunktioner. Strängformatering som sammanlänkning, visning i ett visst format, infoga / radera underlag etc. kan ibland vara en tråkig uppgift. PostgreSQL-strängfunktioner tar hand om det åt dig.

PostgreSQL har många funktioner som inte definieras i standard SQL-funktionerna. Detta ger utvecklarna en enorm horisont av funktioner som kan utnyttja för att lösa det större problemet.

För att illustrera olika PostgreSQL-strängfunktioner måste vi först skapa en databas. Följande databas hänvisas till i alla exempel:

Exempel på strängfunktioner i PostgreSQL

Strängfunktionen är enkel att använda. Här kommer vi att diskutera hur man använder strängfunktion i PostgreSQL

programmering med hjälp av exempel

1. ASCII (str)

Returnerar ASCII-värdet för strängen sträng längst till vänster.

SELECT FirstName, ASCII(FirstName) from Person

2. BIT_LENGTH (str)

Returnerar längden på strängen str i bitar.

SELECT FirstName, BIT_LENGTH(FirstName) from Person

3. CHAR_LENGTH (str) / CHARACTER_LENGTH (str)

Returnerar längden på strängsträngen i tecken.

SELECT FirstName, CHAR_LENGTH(FirstName) from Person

4. CONCAT (str1, str2, …., Strn)

Returnerar en sträng som bildas genom att gå med str1 till strn. NULL-argument ignoreras.

SELECT FirstName, LastName, CONCAT(FirstName, LastName) as DisplayName from Person

5. str1 || str2 ||… || icke-str ||… || strn

Sammanfogar str1, str2 till strn och till och med icke-sträng argument.

SELECT Id || FirstName || LastName || phone || address as Concat_All from Person

6. INITCAP (str)

Har stora bokstäver, det vill säga varje ords första bokstav är övre kåpa och resten är lägre. Ord bestäms av icke-alfanumeriska separatorer.

Select INITCAP('This is a PostgreSQL example.')

7. LAGRE () och ÖVRE ()

Konverterar en sträng till gemener och versaler.

SELECT FirstName, LOWER(FirstName) as Lower, UPPER(FirstName) as Upper from Person

8. VÄNSTER (str, len) / RIGHT (str, len)

Returnerar de vänsterst till vänster och höger linstecken från strängen str. När len är negativ, returnerar den strängen str förutom för vänster eller längst till vänster.

SELECT FirstName, LastName, CONCAT(LEFT(LastName, 3), RIGHT(FirstName, 2)) as LoginID from Person

9. LÄNGD (str) / LENGTH (str, kodning)

Returnerar längden på strängsträngen i tecken. Detta är dock till skillnad från funktionen för längdfunktionen i SQL. När det anges tillhandahåller kodning längden i den specifika kodningen.

SELECT FirstName, LENGTH(FirstName), CHAR_LENGTH(FirstName) from Person

10. OCTET_LENGTH (str)

Beräknar längden på strängen str i byte.

SELECT FirstName, LENGTH(FirstName), CHAR_LENGTH(FirstName), OCTET_LENGTH(FirstName) from Person

Detta liknar väldigt mycket LENGTH och CHAR_LENGTH funktioner. Skillnaden kommer när det är involverade multibytatecken.

SELECT '€' as multibyte_char, LENGTH('€'), CHAR_LENGTH('€'), OCTET_LENGTH('€')

Detta händer eftersom Euro (€) -skylt upptar 3 byte i minnet.

11. LPAD (str, len, padstr) / RPAD (str, len, padstr)

Infogar understrängen från position 0 för sträng padstr i början och slutet av strängen str tills den resulterande strängen är av len tecken.

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)

Återställer strängen str efter att ha trimmat alla förekomster av kol (ar) från vänster, höger eller båda ändarna. Om tecken inte anges i argumenten trimmas mellanslag.

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. POSITION (substr i str) / STRPOS (str, sub)

Hitta positionen för underlagssträngen i strängen str. Kom ihåg att indexet börjar från 1 i PostgreSQL. Returnerar 0, om ingen match hittades.

SELECT Address, POSITION('Avenue' in Address) from Person

14. QUOTE_IDENT (str) / QUOTE_LITERAL (str)

Den här frågan citerar och avkoderar strängen str. De flesta specialtecken fördubblas.

SELECT Address, QUOTE_IDENT(Address), QUOTE_LITERAL(Address) from Person

15. Byt ut (str, från_str, till_str)

Ersätter alla förekomster av substräng från_str med substräng till_str i strängen str. Det är skiftlägeskänsligt.

SELECT Address, REPLACE(Address, 's', 'SS') from Person

16. REVERSE (str)

Vänder strängen str.

SELECT FirstName, REVERSE(FirstName) from Person

17. REGEXP_MATCHES (str, mönster)

Returnerar alla underlag som matchar POSIX Regex-mönstret.

SELECT Address, REGEXP_MATCHES(Address, '.(sN)i.') from Perso

18. REGEXP_REPLACE (str, mönster, newstr)

Ersätter alla underlag som matchar POSIX Regex-mönstret med den nya str.

SELECT Address, REGEXP_MATCHES(Address, '..(e)(n)..'), REGEXP_REPLACE(Address, '..(e)(n)..', 'Street') from Person

19. REGEXP_SPLIT_TO_ARRAY (str, mönster)

Delar strängen str i en rad underlag separerade med POSIX Regex-mönster. Mönster E '\\ s +' betyder ett eller flera tomma utrymmen.

SELECT Address, REGEXP_SPLIT_TO_ARRAY(Address, E'\\s+') from Person

20. REGEXP_SPLIT_TO_TABLE (str, mönster)

Delar strängen str i en tabell med underlag separerade med POSIX Regex-mönster.

SELECT Address, REGEXP_SPLIT_TO_TABLE(Address, E'\\s+') from Person

21. SUBSTRING (str från pos för len)

Returnerar en substring från strängen str som börjar vid position pos av längden len.

SELECT FirstName, SUBSTRING(FirstName from 2 for 4) as a sub from Person

22. SUBSTRING (str från posix_pattern) / SUBSTRING (str från sql_pattern för flykt)

Returnerar en substring från strängsträngen som matchar POSIX Regex eller SQL Regex. Regex är ett stort, underbart och extremt användbart ämne i datorer. Vi rekommenderar att du tar tag i Regex-mönstret innan du implementerar dem på ett tillfälligt sätt.

SELECT FirstName, SUBSTRING(FirstName from '…$') as sub1, substring(FirstName from '%#"o_a#"_%' for '#') as sub2 from Person

Slutsats - PostgreSQL-strängfunktioner

Så, till slutsatsen, är dessa tillsammans med andra inbyggda funktioner det som gör PostgreSQL så kraftfull. Införandet av regex-mönster ger mer kraft till det. När konsten att skriva Regex-mönster är lärd och behärskad skulle det vara roligare att spela med databasen.

Rekommenderade artiklar

Detta har varit en guide till PostgreSQL-strängfunktioner. Här diskuterade vi hur man använder strängfunktioner i PostgreSQL-programmering med hjälp av exempel. Du kan också gå igenom våra andra artiklar som föreslås för att lära dig mer–

  1. Strängfunktioner i Java med exempel
  2. Hur installerar PostgreSQL?
  3. PostgreSQL intervjufrågor
  4. Regex-funktioner i Python (exempel)

Kategori: