PostgreSQL - SOM Clause

PostgreSQL SOM
operatør brukes til å matche tekst verdier mot et mønster ved hjelp av jokertegn. Dersom søkeuttrykket kan tilpasses mønsteret uttrykk, vil LIKE operatør returnere true, som er 1

Det er to wildcards brukes i forbindelse med LIKE operatør.

Den prosenttegn (%)

Den understrek (_)

Den prosenttegn representerer null, en, eller flere tall eller tegn. Understrek representerer et enkelt tall eller tegn. Disse symbolene kan brukes i kombinasjoner

Hvis en av disse to skiltene ikke blir brukt i forbindelse med LIKE leddet, LIKE fungerer som den er lik operatør

Syntax:..

Den grunnleggende syntaks% og _ er som følger:
SELECT FROM table_nameWHERE kolonne LIKE 'XXXX%' orSELECT Fra table_nameWHERE kolonne LIKE '% XXXX%' orSELECT Fra table_nameWHERE kolonne LIKE 'XXXX_'orSELECT Fra table_nameWHERE kolonne LIKE' _XXXX'orSELECT Fra table_nameWHERE kolonne LIKE '_XXXX _'

Du kan kombinere N rekke forhold som bruker AND eller OR operatører. Her XXXX kan være noen numerisk eller streng verdi

Eksempel:.

Her er flere eksempler som viser hvor en del har forskjellige SOM klausul med '%' og '_' operatører:
Statement
Beskrivelse
HVOR LØNN :: tekst LIKE '200%' Finner noen verdier som starter med 200WHERE LØNN :: tekst LIKE '% 200%' Finner noen verdier som har 200 i noen positionWHERE LØNN :: tekst som "_00 % 'Finner noen verdier som har 00 i andre og tredje positionsWHERE LØNN :: tekst LIKE' 2 _% _% 'finner noen verdier som starter med to og er minst 3 tegn i lengthWHERE LØNN :: tekst som "% 2'Finds noen verdier som slutter med 2WHERE LØNN :: tekst LIKE '_2% 3'Finds noen verdier som har to i andre posisjon og slutter med en 3WHERE LØNN :: tekst LIKE' to ___ 3'Finds eventuelle verdier i et fem-sifret nummer som starte med 2 og avslutte med 3Postgres liker er String sammenligne bare. Derfor må vi eksplisitt kaste heltallskolonne til streng som i eksemplene ovenfor

La oss ta et reelt eksempel vurdere bordet COMPANY ha poster som følger:.
# Select * from COMPANY; id | Navn | alder | adressere | lønn ---- + ------- + ----- + ----------- + -------- 1 | Paul | 32 | California | 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norge | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | Sør-Hall | 45000 7 | James | 24 | Houston | 10000 (7 p)

Følgende er et eksempel, som vil vise alle postene fra selskap bordet der AGE starter med to:
testdb = # SELECT * FROM selskap hvor ALDER :: tekst LIKE '2%'; < p> Dette vil gi følgende resultat:
id | Navn | alder | adressere | lønn ---- + ------- + ----- + ------------- + -------- 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norge | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | Sør-Hall | 45000 7 | James | 24 | Houston | 10000 8 | Paul | 24 | Houston | 20000 (7 p)

Følgende er et eksempel, som vil vise alle postene fra selskap tabell der ADRESSE vil ha en bindestrek (-) i teksten:
testdb = # SELECT * FROM selskap der ADRESSE LIKE '% -% ';

Dette vil gi følgende resultat:
id | Navn | alder | adressere | lønn ---- + ------ + ----- + ------------------------------- ------------ + -------- 4 | Mark | 25 | Rich-Mond | 65000 6 | Kim | 22 | Sør-Hall | 45000 (2 p)