Funções de Linha 24/04/06
Funções de Linha Gerar ou construir novo valor não existente na tabela inicial. Valor construído a partir de dados de uma ou mais células da tabela original. Todas essas células deve pertencer a uma única linha dentro da tabela.
Função CASE Estrutura análoga a estrutura IF/ELSE de linguagens de programação Semelhança com SWITCH-CASE da linguagem C Ansi
Função CASE/ DECODE SELECT campo1, CASE campo1 WHEN valor1 THEN cmd WHEN valor2 THEN cmd2 ELSE cmd3 END FROM tabela1 SELECT vl_total_pedido, CASE vl_total_pedido WHEN 200 THEN 'duzentos reais' WHEN 800 THEN '800 reais' ELSE 'outro valor' END FROM pedido;
Conversão de Tipos / Cast Necessidade de converter algum tipo Notações possíveis : type 'string' 'string'::type CAST ( 'string' AS type ) Ex. select cast( coalesce ( cd_cliente_indicador, cd_cliente ) AS character) from cliente
Função COALESCE Retorna o primeiro dos argumentos que não é nulo. Nulo é retornado somente se ambos argumentos forem nulos.
Função COALESCE SELECT..., COALESCE ( campo1, campo2 ) FROM Tabela1 select nm_cliente, coalesce ( cd_cliente_indicador, cd_cliente ) AS INDICADOR from cliente
Funções NULLIF A função NULLIF retorna valor nulo somente se valor1 e valor2 são iguais. Senão retorna valor1. Pode ser usado para executar operação inversa do COALESCE Notação NULLIF(value1, value2)
Referências Manual do Postgres : B.2. Date/Time Key Words Livro PATRICK, J. SQL Fundamentos. Cap. 9, 10 e 11