TransWikia.com

"min()" com dois parâmetros

Stack Overflow em Português Asked by Wesley on January 8, 2021

A pessoa que trabalhou antes de mim na empresa fez esse código:

MIN(DATEPART('weekday',[Entrega Data Real]),6)

O que esse 6 significa?

Um min() pode ter dois parâmetros?

One Answer

Não, não temos como saber o que ele significa, mas pelo código o resultado deve dar no máximo 6, ou seja, se o dia da semana for 7 (provavelmente domingo, depende da cultura usada) então ele considerará 6 (provavelmente sábado), mas se for quaisquer dias abaixo de 7, ele considerará o dia da semana da entrega.

Uma função min() precisa ter pelo menos dois argumentos já que ela resulta em um valor mínimo entre dois ou mais deles. Se tivesse só um argumento o resultado seria sempre ele mesmo.

Note que neste caso ela não está sendo usada como agregação e sim uma expressão simples, apenas pega o valor de uma coluna em uma linha e compara com o literal 6. Isto é feito linha a linha, mas não está procurando pelo mínimo de todas as linhas, como provavelmente está pensando. Ela só funciona para agregar se tiver alguma cláusula na query tiver algo que agrupe tudo. Nada postado indica isto e mesmo que seja usado assim a forma da função escrita não faria a agregação corretamente.

Answered by Maniero on January 8, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP