PostgreSQL stringifunktsioonid
PostgreSQL on väga võimas objekti-relatsioonilise andmebaasi haldussüsteem. See pakub sisseehitatud andmetüüpidele suurt hulka funktsioone ja operaatoreid, vabastades seeläbi arendajad lihtsamatest ülesannetest ja keskendudes suurema probleemi lahendusele. Üks selline sisseehitatud funktsioonide kategooria on PostgreSQL stringifunktsioonid. Stringi vormindamine, näiteks liitmine, kindlas vormingus kuvamine, alamstringide sisestamine / kustutamine jne, võib mõnikord olla tüütu ülesanne. PostgreSQL stringifunktsioonid hoolitsevad selle eest teie eest.
PostgreSQL-l on palju funktsioone, mida standardses SQL-funktsioonis pole määratletud. See annab arendajatele tohutu horisondi funktsioone, mida saab kasutada suurema probleemi lahendamiseks.
Erinevate PostgreSQL Stringi funktsioonide illustreerimiseks peame kõigepealt looma andmebaasi. Kõigis näidetes viidatakse järgmisele andmebaasile:
Stringifunktsioonide näited PostgreSQL-is
Keelte funktsiooni on lihtne kasutada. Siin räägime sellest, kuidas kasutada stringifunktsiooni PostgreSQL-is
programmeerimine näidete abil
1. ASCII (str)
Tagastab stringi stringi vasakpoolseima tähe ASCII väärtuse.
SELECT FirstName, ASCII(FirstName) from Person
2. BIT_LENGTH (str)
Tagastab stringi pikkuse bittides.
SELECT FirstName, BIT_LENGTH(FirstName) from Person
3. CHAR_LENGTH (str) / CHARACTER_LENGTH (str)
Tagastab stringi pikkuse tähemärkides.
SELECT FirstName, CHAR_LENGTH(FirstName) from Person
4. CONCAT (str1, str2, …., Strn)
Tagastab strl, mis on moodustatud str1 liitmisel strn-ga. NULL argumenti eiratakse.
SELECT FirstName, LastName, CONCAT(FirstName, LastName) as DisplayName from Person
5. str1 || str2 ||… || mitte-str ||… || strn
Mõtteahelad str1, str2 strn ja isegi stringita argumendid.
SELECT Id || FirstName || LastName || phone || address as Concat_All from Person
6. INITCAP (str)
Stringitakse suurtähtedega, st iga sõna esitäht on suurtähtedega ja ülejäänud tähed on kirjutatud suurtähega. Sõnad määratakse mittetähtnumbriliste eraldajate abil.
Select INITCAP('This is a PostgreSQL example.')
7. Alumine () ja ülemine ()
Teisendab stringi väiketähtedeks ja suurtähtedeks.
SELECT FirstName, LOWER(FirstName) as Lower, UPPER(FirstName) as Upper from Person
8. VASAK (str, len) / PAREM (str, len)
Tagastab stringi str vasakpoolsed ja parempoolsemad tähemärgid. Kui len on negatiivne, tagastab see stringi, välja arvatud vasakpoolseim või parempoolsem Len-tähemärk.
SELECT FirstName, LastName, CONCAT(LEFT(LastName, 3), RIGHT(FirstName, 2)) as LoginID from Person
9. PIKKUS (str) / LENGTH (str, kodeering)
Tagastab stringi pikkuse tähemärkides. See erineb aga pikkuse funktsioonist SQL-is. Kui see on täpsustatud, annab kodeering konkreetse kodeeringu pikkuse.
SELECT FirstName, LENGTH(FirstName), CHAR_LENGTH(FirstName) from Person
10. OCTET_LENGTH (str)
Arvutab stringi pikkuse baitides.
SELECT FirstName, LENGTH(FirstName), CHAR_LENGTH(FirstName), OCTET_LENGTH(FirstName) from Person
See sarnaneb väga palju funktsioonidega LENGTH ja CHAR_LENGTH. Erinevus ilmneb siis, kui kaasatud on mitmebaidised märgid.
SELECT '€' as multibyte_char, LENGTH('€'), CHAR_LENGTH('€'), OCTET_LENGTH('€')
See juhtub seetõttu, et Euro (€) märk võtab mällu 3 baiti.
11. LPAD (str, len, padstr) / RPAD (str, len, padstr)
Lisab alamstringi stringi padstriumi positsioonist 0 stringi algusesse ja lõppu, kuni tulemuseks olev string koosneb len tähemärkidest.
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, märgid) / RTRIM (str, märgid) / TRIM (str, märgid)
Tagastab stringi pärast kõigi sümbolite vasakul, paremal või mõlemast otsast kärpimist. Kui märgid pole argumentides täpsustatud, kärbitakse tühikud.
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 (alaosa str) / STRPOS (str alaosa)
Leiab alamstringi alamjaama stringi str. Pidage meeles, et indeks algab PostgreSQL-is 1-st. Tagastab 0, kui vastet ei leitud.
SELECT Address, POSITION('Avenue' in Address) from Person
14. QUOTE_IDENT (str) / QUOTE_LITERAL (str)
See päring tsiteerib stringi str. Enamik erimärke kahekordistatakse.
SELECT Address, QUOTE_IDENT(Address), QUOTE_LITERAL(Address) from Person
15. Asenda (str, alates_str, to_str)
Asendab kõik alamstringi esinemised alates_str alamstringiga kuni_str stringis. See on tõstutundlik.
SELECT Address, REPLACE(Address, 's', 'SS') from Person
16. REVERSE (str)
Pöörab stringi str.
SELECT FirstName, REVERSE(FirstName) from Person
17. REGEXP_MATCHES (str, muster)
Tagastab kõik alamstringid, mis vastavad POSIX Regexi mustrile.
SELECT Address, REGEXP_MATCHES(Address, '.(sN)i.') from Perso
18. REGEXP_REPLACE (str, muster, newstr)
Asendab kõik alamstringid, mis vastavad POSIX Regexi mustrile uue stristriga.
SELECT Address, REGEXP_MATCHES(Address, '..(e)(n)..'), REGEXP_REPLACE(Address, '..(e)(n)..', 'Street') from Person
19. REGEXP_SPLIT_TO_ARRAY (str, muster)
Jagab stringi strossi POSIX Regexi mustriga eraldatud alamstringide massiiviks. Muster E '\\ s +' tähendab ühte või mitut tühikut.
SELECT Address, REGEXP_SPLIT_TO_ARRAY(Address, E'\\s+') from Person
20. REGEXP_SPLIT_TO_TABLE (str, muster)
Jagab stringi stringi alamstringide tabeliks, mis on eraldatud POSIX Regexi mustriga.
SELECT Address, REGEXP_SPLIT_TO_TABLE(Address, E'\\s+') from Person
21. SUBSTRING (str posist len jaoks)
Tagastab alamstringi stringist str, alustades positsioonist pikkusega len.
SELECT FirstName, SUBSTRING(FirstName from 2 for 4) as a sub from Person
22. SUBSTRING (str alates posix_pattern) / SUBSTRING (str alates sql_pattern põgenemiseks)
Tagastab stringist str alamstringi, mis vastab POSIX Regexile või SQL Regexile. Regex on suur, suurepärane ja äärmiselt kasulik teema arvutites. Enne nende juhuslikku rakendamist on soovitatav tutvuda Regexi mustritega.
SELECT FirstName, SUBSTRING(FirstName from '…$') as sub1, substring(FirstName from '%#"o_a#"_%' for '#') as sub2 from Person
Järeldus - PostgreSQL stringifunktsioonid
Kokkuvõtteks võib öelda, et need koos teiste sisseehitatud funktsioonidega muudavad PostgreSQLi nii võimsaks. Regex-mustrite kaasamine lisab sellele rohkem jõudu. Kui Regexi mustrite kirjutamise kunst on õpitud ja omandatud, oleks andmebaasiga mängimine palju toredam.
Soovitatavad artiklid
See on olnud juhend PostgreSQL stringifunktsioonide jaoks. Siin arutasime näidete abil, kuidas kasutada stringifunktsioone PostgreSQL programmeerimisel. Lisateavet leiate ka meie muudest soovitatud artiklitest -
- Stringifunktsioonid Java koos näidetega
- Kuidas installida PostgreSQL?
- PostgreSQL-i intervjuu küsimused
- Regexi funktsioonid Pythonis (näide)