PostgreSQL strengfunktioner

PostgreSQL er et meget kraftfuldt objektrelationalt databasestyringssystem. Det giver et stort antal funktioner og operatører til de indbyggede datatyper, hvorved udviklerne frigøres fra enklere opgaver og fokuserer på løsningen på det større problem. En sådan kategori af indbyggede funktioner er PostgreSQL-strengfunktioner. Strengformatering som sammenkædning, visning i et bestemt format, indsættelse / sletning af underlag osv. Kan undertiden være en kedelig opgave. PostgreSQL-strengfunktioner tager sig af det for dig.

PostgreSQL har mange funktioner, der ikke er defineret i standard SQL-funktionerne. Dette giver udviklerne en enorm horisont af funktioner, der kan udnytte til at løse det større problem.

For at illustrere forskellige PostgreSQL String-funktioner skal vi først oprette en database. Følgende database henvises til i alle eksemplerne:

Eksempler på strengfunktioner i PostgreSQL

Strengfunktion er let at bruge. Her vil vi diskutere, hvordan man bruger strengfunktion i PostgreSQL

programmering ved hjælp af eksempler

1. ASCII (str)

Returnerer ASCII-værdien af ​​den venstre karakter i strengen str.

SELECT FirstName, ASCII(FirstName) from Person

2. BIT_LENGTH (str)

Returnerer længden på strengstrengen i bits.

SELECT FirstName, BIT_LENGTH(FirstName) from Person

3. CHAR_LENGTH (str) / CHARACTER_LENGTH (str)

Returnerer længden på strengstrengen i tegn.

SELECT FirstName, CHAR_LENGTH(FirstName) from Person

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

Returnerer en streng, der er dannet ved at forbinde str1 til strn. NULL-argumenter ignoreres.

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

5. str1 || str2 ||… || ikke-str ||… || Strn

Sammenkæder str1, str2 til strn og endda ikke-strenge argumenter.

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

6. INITCAP (str)

Brug af store bogstaver, dvs. hvert enkelt ord er første bogstav og øvre kassetter. Ord bestemmes af ikke-alfanumeriske separatorer.

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

7. LAVER () og ØVRE ()

Konverterer en streng til små og store bogstaver.

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

8. VENSTRE (str, len) / HØJRE (str, len)

Returnerer de venstre og højre linstegn fra strengstr. Når len er negativ, returnerer den strengen str bortset fra de venstre eller højre len tegn.

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

9. LENGTH (str) / LENGTH (str, koding)

Returnerer længden på strengstrengen i tegn. Dette er dog i modsætning til funktionen af ​​længde-funktionen i SQL. Når det er angivet, giver kodning længden i den bestemte kodning.

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

10. OCTET_LENGTH (str)

Beregner længden på strengstrengen i byte.

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

Dette ligner meget funktionerne LENGTH og CHAR_LENGTH. Forskellen kommer, når der er involverede multibytekarakterer.

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

Dette sker, fordi Euro (€) -tegnet optager 3 byte i hukommelsen.

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

Indsætter understreng fra position 0 af strengstrengen i begyndelsen og slutningen af ​​strengstrengen, indtil den resulterende streng er af len-tegn.

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)

Returnerer strengstrengen efter beskæring af alle forekomster af char (er) fra venstre, højre eller begge ender. Hvis der ikke er angivet tegn i argumenterne, trimmes mellemrum.

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 in str) / STRPOS (str, substr)

Finder placeringen af ​​substringstrengen i strengstrengen. Husk, at indekset starter fra 1 i PostgreSQL. Returnerer 0, hvis der ikke findes nogen kamp.

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

14. QUOTE_IDENT (str) / QUOTE_LITERAL (str)

Denne forespørgsel citerer og fjerner citeret strengstr. De fleste specialtegn er fordoblet.

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

15. UDSKIFT (str, fra_str, til_str)

Erstatter alle forekomster af understreng fra_str med understreng til_str i strengstrengen. Det er store og små bogstaver.

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

16. REVERSE (str)

Vender strengen str.

SELECT FirstName, REVERSE(FirstName) from Person

17. REGEXP_MATCHES (str, mønster)

Returnerer alle underlag, der matcher POSIX Regex-mønsteret.

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

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

Erstatter alle underlag, der matcher POSIX Regex-mønsteret med den nye str.

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

19. REGEXP_SPLIT_TO_ARRAY (str, mønster)

Opdeler strengstrengen i en række underlag adskilt med POSIX Regex-mønster. Mønster E '\\ s +' betyder et eller flere blanke mellemrum.

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

20. REGEXP_SPLIT_TO_TABLE (str, mønster)

Opdeler strengstrengen i en tabel med underlag adskilt med POSIX Regex-mønster.

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

21. SUBSTRING (str fra pos for len)

Returnerer en substring fra streng str, der starter ved position pos af længde len.

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

22. SUBSTRING (str fra posix_pattern) / SUBSTRING (str fra sql_pattern til flugt)

Returnerer en substring fra strengstr, der matcher POSIX Regex eller SQL Regex. Regex er et stort, vidunderligt og ekstremt nyttigt emne i computere. Det anbefales at få fat i Regex-mønstre, før de implementeres tilfældigt.

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

Konklusion - PostgreSQL strengfunktioner

Så at konkludere, at disse sammen med andre indbyggede funktioner er det, der gør PostgreSQL så kraftfuld. Medtagelsen af ​​regex-mønstre tilføjer mere kraft til det. Når kunsten at skrive Regex-mønstre læres og mestres, ville det være sjovere at lege med databasen.

Anbefalede artikler

Dette har været en guide til PostgreSQL strengfunktioner. Her diskuterede vi, hvordan man bruger strengfunktioner i PostgreSQL-programmering ved hjælp af eksempler. Du kan også gennemgå vores andre foreslåede artikler for at lære mere–

  1. Strengefunktioner i Java med eksempler
  2. Sådan installeres PostgreSQL?
  3. PostgreSQL Interview Spørgsmål
  4. Regex-funktioner i Python (eksempel)

Kategori: