Pular para o conteúdo principal

Função Diferença em Anos para Postgresql

A seguinte função para o banco de dados Postgresql permite calcular a Diferença em Anos entre duas datas:


-- Function: public."func_Data_Diferenca_Anos"(date)

-- DROP FUNCTION public."func_Data_Diferenca_Anos"(date);

CREATE OR REPLACE FUNCTION public."func_Data_Diferenca_Anos"("in_Data" date)
  RETURNS integer AS
$BODY$
DECLARE 
   iAnoAtual integer;
   iAnoData integer;
   iMesAtual integer;
   iMesData integer;
   iDiaAtual integer;
   iDiaData integer;
   iDifAnos integer;
   iDifMeses integer;
  BEGIN
iAnoAtual=EXTRACT(year from CURRENT_DATE);
iAnoData=EXTRACT(year from $1);
iMesAtual=EXTRACT(month from CURRENT_DATE);
iMesData=EXTRACT(month from $1);
iDiaAtual=EXTRACT(day from CURRENT_DATE);
iDiaData=EXTRACT(day from $1);

iDifAnos=iAnoAtual-iAnoData;

IF (iMesAtual < iMesData) THEN 
   iDifAnos=iDifAnos-1;
END IF;    

RETURN iDifAnos;
  END; 
  $BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION public."func_Data_Diferenca_Anos"(date)
  OWNER TO postgres;

Comentários

Postagens mais visitadas deste blog

Conectando o Excel ao Pentaho usando XMLA

Muitas pessoas reclamam do Saiku como Cliente XMLA para acesso aos cubos do Pentaho. Uma opção é habilitar o pentaho para que outros clientes possam conectar e navegar nos dados. Neste tutorial mostrarei como configurar o Excel para conexão aos cubos do Pentaho. Usarei como Cubo de exemplo o SteelWheels presente por padrão no Pentaho. É necessário fazer duas configurações, no Pentaho e no Excel. Primeiro no Pentaho: Deve-se ir na tela "Manage Data Sources" No exemplo clicamos em SteelWheels Analytics, em seguida na Engrenagem e no Botão Edit: Na tela de edição: Muda para Manually enter data sources parameter values; Clica-se  em EnableXMLA; Clica-se no botão Edição e altera a propriedade para true;  Após a alteração a tela deve estar assim: Confirma em Save. Segundo no Excel: Devemos instalar um pacote que permite ao Excel conectar a fonts XMLA: Usaremos o pacote: XMLA connect https://sourceforge.net/projects/xmlaconne...

Inserindo um Gráfico em um Tooltip de outro Gráfico no Pentaho

Eu trabalho com Pentaho mas sou admirador de outras Ferramentas de BI. Compreendo que as empresas e instituições adotam esta ou aquela ferramenta por motivos de facilidade, cultura, equipe, financeiro ou outros.  Gosto de examinar em especial o Tableau. Recentemente vi um tutorial onde era demonstrado como inserir um gráfico dentro de um Tooltip de um outro gráfico. Achei a idéia muito interessante e me propus a tentar fazer o mesmo usando o Pentaho. Bem vamos lá... Para construção desse efeito usaremos: O Pentaho Server Community; Ctools  CDE - Editor de dashboards; Ctools CCC  - Biblioteca  de gráficos; Ctools CGG - Exportador dos gráficos que permite o aceso ao gráfico em formato PNG ou SVG; Quando pronto o efeito fica dessa forma: Para Fonte de dados utilizei o conjunto de dados SteelWheels que vem com o Pentaho. Defini duas consultas MDX, uma para o primeiro gráfico e outra para o Gráfico do Tooltip: SalesForLine (Gráfico 1): WITH...

Pesquisando Informações de um produto no Buscapé a partir do Pentaho

Em muitas situações deseja-se realizar integração com serviços Web e pensamos nas maneiras mais complicadas ao invés de usarmos soluções simples. Um exemplo disso é pesquisar preços no site Buscapé a partir de um dashboard pentaho/CDE. O Buscapé possui uma API para integração, mas que envolve contratação de serviço. Um caminho mais simples é acionar através de um Botão a pesquisa passando parâmetros por URL. Esta solução envolveu: 1.Criação do parâmetro para o nome do produto [parProduto]; 2. Criação de um Botão [Button Component]; 3. Na propriedade "Expression" inserção do serguinte código: function f(){     s = Dashboards.getParameterValue("parProduto");     s = replaceAll(s," ", "-");     s = replaceAll(s,"/", "%2F");     window.open("http://lista.mercadolivre.com.br/"+s+"#D[A:"+s+"]");   }  Resultado: Ao clicar no botão é aberto uma nova janela ou aba com a pesqu...