Do not speak Portuguese? Translate this site with Google or Bing Translator
POSTGRESQL - Uso do IN, LIKE e ILIKE

Posted on: March 23, 2021 12:04 AM

Posted by: Renato

Categories: postgresql sql

Views: 1644

POSTGRESQL - Uso do IN, LIKE e ILIKE


Vou comentar sobre como utilizar as clausulas IN, LIKE, ILIKE no PostgreSQL em um SELECT.

Vamos utilizar com exemplo a tabela abaixo:

ID | NOMES
1  | Elias
2  | Jose
3  | Manoel
4  | Elizeu
5  | Michael


Usando o comando IN em um select.

Para trazer apenas o id 1 e 5, podemos utilizar a cláusula IN colocando entre parentes os números 1 e 5 separados por virgula.

Exemplo:

select * from NOME_TABELA where id in (1, 5);

Se desejar filtrar pelo nome “caracteres”, é necessário utilizar aspas simples para cada palavra, vamos filtrar o José e Manoel.

Exemplo:

select * from NOME_TABELA where nomes in ('José', 'Manoel');

Obs..: O in faz distinção entre maiúsculas e minusculas, então por exemplo,  se filtrar por josé não exibiria o id 2 José, porque o J é maiúsculo.

Uso do LIKE em um select

O like é um comando muito útil no dia-a-dia de um desenvolvedor ou DBA, ele serve para trazer partes de palavras ou números. O like é case-sensitive, então ‘maria’ é diferente de ‘MARIA’.

O like utilza coringas para substituir partes do texto, segue os coringas abaixo:

%          Significa qualquer quantidade de caracteres.

_            Significa um caractere.
Utilizando o coringa %.

Para buscar todas as palavras que começam com a letra E.

select * from NOME_TABELA where nome like 'E%'

Buscar todas as palavras que terminam com a letra ‘a’;

select * from NOME_TABELA where nomes like '%a';

Buscar todas as palavras que contenham a sílaba ‘li’.

select * from NOME_TABELA where nomes like '%li%';

Buscar todas palavras que contenham a letra ‘a’ alguma coisa e depois a letra ‘e’ mais alguma coisa escrita.

select * from NOME_TABELA where nomes like '%a%e%';
Utilizando o coringa _ .

O coringa _ (underline) substitui um caractere, ou seja, uma letra.

Para buscar por exemplo o nome Elias, sem considerar a primeira letra do nome.

select * from NOME_TABELA where nomes like '_lias';

Podemos substituir quantos forem necessários, só colocar mais “underlines”, exemplo:

select * from NOME_TABELA where nomes like '__ias';

Podemos combinar com o coringa %.

select * from NOME_TABELA where nomes like '_li%';
Uso do ILIKE no select

O ilike possui as mesmas características do like, porém não é case-sensitive, ou seja, não faz distinção entre maiúsculas e minusculas, então ‘MARIA’ é igual ‘maria’ para o ilike.

O ilike utiliza os mesmos coringas do like % e _.

Vou apenas postar os selects utilizando ilike porque as regras são as mesmas do like, apenas ele nao é case-sensitive.
Usando o coringa %.

select * from NOME_TABELA where nome ilike 'e%'

select * from NOME_TABELA where nomes ilike '%a';

select * from NOME_TABELA where nomes ilike '%li%';

select * from NOME_TABELA where nomes ilike '%a%e%';


Usando o coringa _.

select * from NOME_TABELA where nomes ilike '_lias';

select * from NOME_TABELA where nomes ilike '__ias';

select * from NOME_TABELA where nomes like '_li%';

Fonte: Elias - https://eliascastroblog.wordpress.com/2017/04/08/uso-do-in-like-ilike-no-postgresql/

 


2

Share

Donate to Site


About Author

Renato

Developer

Add a Comment

Blog Search


Categories

OUTROS (16) Variados (109) PHP (133) Laravel (171) Black Hat (3) front-end (29) linux (114) postgresql (39) Docker (28) rest (5) soap (1) webservice (6) October (1) CMS (2) node (7) backend (13) ubuntu (56) devops (25) nodejs (5) npm (3) nvm (1) git (8) firefox (1) react (7) reactnative (5) collections (1) javascript (7) reactjs (8) yarn (0) adb (1) Solid (2) blade (3) models (1) controllers (0) log (1) html (2) hardware (3) aws (14) Transcribe (2) transcription (1) google (4) ibm (1) nuance (1) PHP Swoole (5) mysql (31) macox (4) flutter (1) symfony (1) cor (1) colors (2) homeOffice (2) jobs (3) imagick (2) ec2 (1) sw (1) websocket (2) markdown (1) ckeditor (1) tecnologia (14) faceapp (1) eloquent (14) query (4) sql (40) ddd (3) nginx (9) apache (4) certbot (1) lets-encrypt (3) debian (12) liquid (1) magento (2) ruby (1) LETSENCRYPT (1) Fibonacci (1) wine (1) transaction (1) pendrive (1) boot (1) usb (1) prf (1) policia (2) federal (1) lucena (1) mongodb (4) paypal (1) payment (1) zend (1) vim (4) ciencia (6) js (1) nosql (1) java (1) JasperReports (1) phpjasper (1) covid19 (1) saude (1) athena (1) cinnamon (1) phpunit (2) binaural (1) mysqli (3) database (42) windows (6) vala (1) json (2) oracle (1) mariadb (4) dev (12) webdev (24) s3 (4) storage (1) kitematic (1) gnome (2) web (2) intel (3) piada (1) cron (2) dba (18) lumen (1) ffmpeg (2) android (2) aplicativo (1) fedora (2) shell (4) bash (3) script (3) lider (1) htm (1) csv (1) dropbox (1) db (3) combustivel (2) haru (1) presenter (1) gasolina (1) MeioAmbiente (1) Grunt (1) biologia (1) programming (22) performance (3) brain (1) smartphones (1) telefonia (1) privacidade (1) opensource (3) microg (1) iode (1) ssh (3) zsh (2) terminal (3) dracula (1) spaceship (1) mac (2) idiomas (1) laptop (2) developer (37) api (5) data (1) matematica (1) seguranca (2) 100DaysOfCode (9) hotfix (1) documentation (1) laravelphp (10) RabbitMQ (3) Elasticsearch (1) redis (2) Raspberry (4) Padrao de design (4) JQuery (1) angularjs (4) Dicas (43) Kubernetes (3) vscode (2) backup (1) angular (3) servers (2) pipelines (1) AppSec (1) DevSecOps (4) rust (1) RustLang (1) Mozilla (1) algoritimo (1) sqlite (1) Passport (2) jwt (5) security (2) translate (1) kube (2) iot (1) politica (2) bolsonaro (1) flow (1) podcast (1) Brasil (1) containers (3) traefik (1) networking (1) host (1) POO (2) microservices (2) bug (1) cqrs (1) arquitetura (3) Architecture (4) sail (3) militar (1) artigo (1) economia (1) forcas armadas (1) ffaa (1) autenticacao (2) autorizacao (2) authentication (4) authorization (3) NoCookies (1) wsl (4) memcached (1) macos (2) unix (2) kali-linux (1) linux-tools (5) apple (1) noticias (2) composer (1) rancher (1) k8s (1) escopos (1) orm (1) jenkins (4) github (5) gitlab (3) queue (1) Passwordless (1) sonarqube (1) phpswoole (1) laraveloctane (1) Swoole (1) Swoole (1) octane (1) Structurizr (1) Diagramas (1) c4 (1) c4-models (1) compactar (1) compression (1) messaging (1) restfull (1) eventdrive (1) services (1) http (1) Monolith (1) microservice (1) historia (1) educacao (1) cavalotroia (1) OOD (0) odd (1) chatgpt (1) openai (3) vicuna (1) llama (1) gpt (1) transformers (1) pytorch (1) tensorflow (1) akitando (1) ia (1) nvidia (1) agi (1) guard (1) multiple_authen (2) rpi (1) auth (1) auth (1) livros (2) ElonMusk (2) Oh My Zsh (1) Manjaro (1) BigLinux (2) ArchLinux (1) Migration (1) Error (1) Monitor (1) Filament (1) LaravelFilament (1) replication (1) phpfpm (1) cache (1) vpn (1) l2tp (1) zorin-os (1) optimization (1) scheduling (1) monitoring (2) linkedin (1) community (1) inteligencia-artificial (2) wsl2 (1) maps (1) API_KEY_GOOGLE_MAPS (1) repmgr (1) altadisponibilidade (1) banco (1) modelagemdedados (1) inteligenciadedados (4) governancadedados (1) bancodedados (2) Observability (1) picpay (1) ecommerce (1) Curisidades (1) Samurai (1) KubeCon (1) GitOps (1) Axios (1) Fetch (1) Deepin (1) vue (4) nuxt (1) PKCE (1) Oauth2 (2) webhook (1) TypeScript (1) tailwind (1) gource (2)

New Articles



Get Latest Updates by Email