none
Por que do % RRS feed

  • Pergunta

  • Eu estou analisando uma query e deparei com a seguinte expressão!

    CASE WHEN status IN ('CONC', 'CANC') THEN DATEDIFF(day, data_evento, DATEADD(day, prazo_previsto % 5 +
    CASE WHEN DATEPART(weekday, ISNULL(data_evento, data_abertura)) + prazo_previsto % 5 > 6 THEN 2 ELSE 0 END

    Eu não sei o que significa essa expressão % e o número logo em seguida e o que ela executa em uma função igual o dateadd.

    quarta-feira, 26 de setembro de 2018 17:58

Respostas

Todas as Respostas

  • Deleted
    quarta-feira, 26 de setembro de 2018 18:00
  • Como o José Diz disse, este operador se refere ao resto da divisão de inteiros.

    Creio que a lógica de quem criou a query utilizou deveria ser algo relacionado a semanas ou intervalos de 5 e quanto sobrou desta conta.

    Por exemplo 28 / 5 =  5,6. Mas supondo que se queira saber quantas partes de 5 daria 28 e quantas unidades sobrariam, a divisão inteira de 28 / 5 = 5 , portanto 5 * 5 = 25 e 28 - 25 = 3 e finalmente teríamos que 28 teria 5 porções de 5 e 3 unidades;

    Espero ter ajudado.


    quarta-feira, 26 de setembro de 2018 20:38