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.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. date_trunc
9.9.3. date_bin
9.9.4. AT TIME ZONE e AT LOCAL
9.9.5. Data e hora corrente
9.9.6. Atrasando a execução
9.10. Funções de suporte a tipos de dados 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ções de UUID
9.15. Funções de 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.16. Funções e operadores de JSON
9.16.1. Processamento e criação de dados JSON
9.16.2. A linguagem de caminho SQL/JSON
9.16.3. Funções de consulta de SQL/JSON
9.16.4. JSON_TABLE
9.17. Funções de manejo 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.19. Funções e operadores de matriz
9.20. Funções e operadores de intervalo e multi-intervalo
9.21. Funções de agregação
9.22. Funções de janela
9.23. Função de suporte à mesclagem
9.24. Expressões de subconsulta
9.24.1. EXISTS
9.24.2. IN
9.24.3. NOT IN
9.24.4. ANY / SOME
9.24.5. ALL
9.24.6. Comparação de uma única linha
9.24.7. Exemplo do tradutor
9.25. Comparações de linha e de matriz
9.25.1. IN
9.25.2. NOT IN
9.25.3. ANY / SOME (matriz)
9.25.4. ALL (matriz)
9.25.5. Comparação de construtor de linha
9.25.6. Comparação de tipo de dados composto
9.26. Funções que retornam conjunto
9.27. Funções e operadores de informação do sistema
9.27.1. Funções de informação de sessão
9.27.2. Funções de consulta a privilégio de acesso
9.27.3. Funções de consulta da visibilidade do esquema
9.27.4. Funções de extração de informação do catálogo do sistema
9.27.5. Funções de informação e endereçamento de objetos
9.27.6. Funções de informação de comentário
9.27.7. Funções de verificação da validade dos dados
9.27.8. Funções de identificação de transação e informação de instantâneo
9.27.9. Funções de informação de transação efetivada
9.27.10. Funções de dados de controle
9.27.11. Funções de informações de versão
9.27.12. Funções de resumo de informações do WAL
9.28. Funções de administração do sistema
9.28.1. Funções de definição de configuração
9.28.2. Funções de sinalização do servidor
9.28.3. Funções de controle de cópia de segurança
9.28.4. Funções de controle da recuperação
9.28.5. Funções de sincronização de instantâneo
9.28.6. Funções de gerenciamento de replicação
9.28.7. Funções de gerenciamento de objetos de banco de dados
9.28.8. Funções de manutenção de índice
9.28.9. Funções genéricas para acesso a arquivo
9.28.10. Funções de bloqueio consultivo
9.29. Funções de gatilho
9.30. Funções de gatilho de evento
9.30.1. Captura das modificações no final do comando
9.30.2. Processamento de objetos descartados por comando de DDL
9.30.3. Tratamento de evento de reescrita de tabela
9.31. Funções de informação de estatística
9.31.1. Inspeção de listas MCV

O PostgreSQL fornece muitas funções e operadores para os tipos de dados nativos. Este 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 na Parte V. 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 deste capítulo para descrever os tipos de dados dos argumentos e do resultado de uma função ou operador é esta:

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, como em:

repeat('Pg', 4) → PgPgPgPg

Se estiver preocupado com a portabilidade, observe que a maioria das funções e operadores descritos neste 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 destas funcionalidades estendidas estão presentes em outros sistemas de gerenciamento de banco de dados SQL e, em muitos casos, estas funcionalidades são compatíveis e consistentes entre diversas implementações diferentes.