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–
- Strengefunktioner i Java med eksempler
- Sådan installeres PostgreSQL?
- PostgreSQL Interview Spørgsmål
- Regex-funktioner i Python (eksempel)