Capítulo 9. Funções e operadores

Índice

9.1. Operadores lógicos
9.2. Funções e operadores de comparação
9.3. Funções e operadores matemáticos
9.4. Funções e operadores de cadeia de caracteres
9.4.1. Função format
9.5. Funções e operadores de cadeia binária
9.6. Funções e operadores de cadeia de bits
9.7. Correspondência de padrões
9.7.1. LIKE
9.7.2. Expressões regulares SIMILAR TO
9.7.3. Expressões regulares POSIX
9.7.4. Exemplo
9.8. Funções de formatação de tipo de dados
9.9. Funções e operadores de data e hora
9.9.1. EXTRACT, date_part
9.9.2. Função date_trunc
9.9.3. Função date_bin
9.9.4. Operador AT TIME ZONE
9.9.5. Data e hora corrente
9.9.6. Atrasando a execução
9.9.7. Comparação entre SGBDs
9.10. Funções de suporte para tipos enum (enumeração)
9.11. Funções e operadores geométricos
9.12. Funções e operadores de endereço de rede
9.13. Funções e operadores de procura de texto completo
9.14. Função para UUID
9.15. Funções para XML
9.15.1. Produção de conteúdo XML
9.15.2. Predicados do XML
9.15.3. Processamento de XML
9.15.4. Mapeando tabelas para XML
9.15.5. Exemplo
9.16. Funções e operadores para JSON
9.16.1. Processamento e criação de dados JSON
9.16.2. Linguagem de caminho SQL/JSON
9.17. Funções de manipulação de sequência
9.18. Expressões condicionais
9.18.1. CASE
9.18.2. COALESCE
9.18.3. NULLIF
9.18.4. GREATEST e LEAST
9.18.5. Exemplo
9.19. Funções e operadores de matriz
9.19.1. Exemplo
9.20. Funções e operadores de intervalo e multi-intervalo
9.21. Funções de agregação
9.21.1. Exemplo
9.22. Funções de janela
9.22.1. Exemplo
9.23. Expressões de subconsulta
9.23.1. EXISTS
9.23.2. IN
9.23.3. NOT IN
9.23.4. ANY / SOME
9.23.5. ALL
9.23.6. Comparação de uma única linha
9.23.7. Exemplo
9.24. Comparações de linha e de matriz
9.24.1. IN
9.24.2. NOT IN
9.24.3. ANY / SOME (matriz)
9.24.4. ALL (matriz)
9.24.5. Comparação de construtor de linha
9.24.6. Comparação de tipo composto
9.25. Funções que retornam conjunto
9.26. Funções e operadores de informação do sistema
9.27. Funções de administração do sistema
9.27.1. Funções de definição de configuração
9.27.2. Funções de sinalização do servidor
9.27.3. Funções de controle de cópia de segurança
9.27.4. Funções de controle de recuperação
9.27.5. Funções de sincronização de instantâneo
9.27.6. Funções de gerenciamento de replicação
9.27.7. Funções de gerenciamento de objeto de banco de dados
9.27.8. Funções de manutenção de índice
9.27.9. Funções genéricas de acesso a arquivo
9.27.10. Funções de bloqueio informativo
9.27.11. Exemplos
9.28. Funções de gatilho
9.29. Funções de gatilho de evento
9.29.1. Captura das modificações no final do comando
9.29.2. Processamento de objetos descartados por comando DDL
9.29.3. Tratamento de evento de reescrita de tabela
9.30. Funções de informação de estatística
9.30.1. Inspeção de listas MCV

O PostgreSQL fornece muitas funções e operadores para os tipos de dados nativos. Esse capítulo descreve a maioria deles, contudo funções adicionais para fins especiais aparecem nas seções relevantes do manual. Os usuários também podem definir suas próprias funções e operadores, conforme descrito em Programação servidor. Os comandos \df e \do do psql podem ser usados para listar todas as funções e operadores disponíveis, respectivamente.

A notação usada ao longo desse capítulo para descrever os tipos de dados dos argumentos e do resultado de uma função ou operador é essa:

repeat ( text, integer ) → text

onde está mostrado que a função repeat recebe dois argumentos, um do tipo de dados text, o outro do tipo de dados integer, e retorna um resultado do tipo de dados text. A seta apontando para a direita também é usada para indicar o resultado de um exemplo, portanto:

repeat('Pg', 4) → PgPgPgPg

Se estiver preocupado com a portabilidade, observe que a maioria das funções e operadores descritos nesse capítulo, com exceção dos operadores aritméticos e de comparação mais triviais, e algumas funções marcadas explicitamente, não estão especificados no padrão SQL. Algumas dessas funcionalidades estendidas estão presentes em outros sistemas de gerenciamento de banco de dados SQL e, em muitos casos, essas funcionalidades são compatíveis e consistentes entre diversas implementações diferentes.

Contato

CSS válido!