+1 voto
118 visitas

Existe alguma função da tecnologia de diferença de meses entre duas datas para poder utilizar tanto em oracle quanto em sql?

possuo um select no stimulsoft que está se utilizando do DATEDIFF porém é invalido no oracle, utilizaria uma função no "CodeBehind" do relatório para montar a seleção do campo

exemplo:

, C.DESCRICAOANDAMENTORESUMO
, C.PALAVRARELEVANCIA MENSAGEM_INDICA_ENCARRAMENTO
, C.DATABAIXAANDAMENTO DATA_BAIXA_MOVIMENTACAO
, '' OUTROS_MOVIMENTOS_INDICAM_ENCERRAMENTO
, DATEDIFF ( MONTH , B.DATADISTRIBUICAO, C.DATAANDAMENTO) Tempo_vida_processo <---
, B_ORG.NOME ORGAO
, B_EST.SIGLA UF

 

por (28 pontos) | 118 visitas

1 Resposta

+2 votos
Melhor resposta

Até a versão 19.2, não existe função para calcular diferença em meses. 

Mas existe uma função que calcula a diferença em Dias, está no SqlResources.DateDiff isto retorna a string do SQL especifica para cada banco de dados.

Exemplo

var diffInDays = SqlResource.DateDiff("B.DATADISTRIBUICAO", "C.DATAANDAMENTO");
var Sql = "SELECT " +
                ", C.DESCRICAOANDAMENTORESUMO " +
                ", C.DATABAIXAANDAMENTO AS DATA_BAIXA_MOVIMENTACAO " +
                $", {diffInDays} DIFERENCA_DATAS " +
                "  FROM <....>";
por (956 pontos)
selecionada por

Perguntas relacionadas

Melhores Aug 2025
    200 pontos
    Melhores 2025 Jul 28 - Aug 03
    1. Larson

      156 Pontos

    2. danilo.pereira

      96 Pontos

    3. danilo.pereira

      96 Pontos

    4. danilo.pereira

      96 Pontos

    5. luciano.fronza

      61 Pontos

    6. luciano.fronza

      61 Pontos

    7. luciano.fronza

      61 Pontos

    8. diuari.molinari

      52 Pontos

    9. diuari.molinari

      51 Pontos

    10. diuari.molinari

      51 Pontos

    517 perguntas
    566 respostas
    389 comentários
    704 usuários