GARANTIR DESCONTO

Fórum Mínimo entre dois valores #443282

16/05/2013

0

Boa tarde,

Gostaria de saber se existe algum recurso do Firebird que retorna o mínimo entre dois valores.

Ex:
TabelaA
Coluna1| Coluna2 | Coluna3
Código | Empregado| DataAdmissao
1 João 16/05/2013
2 Maria 10/05/2013
3 José 01/05/2013

SELECT FUNCAO(COLUNA3, :DATA)
FROM TABELAA

Sendo :DATA recebendo 01/04/2013, o resultado seria 01/04/2013.

Obrigado pela atenção, e desculpe o incômodo.
Guilherme Alves

Guilherme Alves

Responder

Posts

16/05/2013

Junior Miranda

Boa tarde,

Gostaria de saber se existe algum recurso do Firebird que retorna o mínimo entre dois valores.

Ex:
TabelaA
Coluna1| Coluna2 | Coluna3
Código | Empregado| DataAdmissao
1 João 16/05/2013
2 Maria 10/05/2013
3 José 01/05/2013

SELECT FUNCAO(COLUNA3, :DATA)
FROM TABELAA


Sendo :DATA recebendo 01/04/2013, o resultado seria 01/04/2013.

Obrigado pela atenção, e desculpe o incômodo.


   SELECT MIN(DataAdmissao)FROM TABELAA
   WHERE 
     /* CONDIÇÃO */
Responder

Gostei + 0

16/05/2013

Joel Rodrigues

Acho que o melhor, nesse caso, é usar um CASE no campo:
case when A < B then A else B end
Responder

Gostei + 0

16/05/2013

Junior Miranda

Acho que o melhor, nesse caso, é usar um CASE no campo:
case when A < B then A else B end


Tudo bem Joel Rodrigues??

Amigo, pelo que entendi, o Guilherme Alves não deseja fazer uma comparação entre duas datas "fixas". Digo isso, porque no exemplo que ele postou, um dos parâmetros,COLUNA3, é um range de datas.

[]'s

Responder

Gostei + 0

16/05/2013

Joel Rodrigues

Fala, Junior. Tudo em paz, grande. E com você?

Eu entendi que ele quer trazer, na COLUNA3, o menor valor no seguinte sentido: se o valor da coluna3 for menor que o parâmetro que ele passar, trazer o valor da coluna. Se o parâmetro for menor que o valor da coluna, trazer o parâmetro no lugar do valor da coluna.

Pareceu meio enrolada minha explicação, mas acho que deu pra entender.

Por exemplo, supondo que se tenha os valores:
1 João 16/05/2013
2 Maria 10/05/2013
3 José 01/05/2013

Ele queria algo do tipo:
SELECT CODIGO, EMPREGADO, MENOR(DataAdmissao, :DataParametro)


Sendo 'DataParametro' igual a 1/4/2013, o resultado seria:
1 João 01/04/2013
2 Maria 01/04/2013
3 José 01/04/2013


Eu entendi assim, talvez ele possa nos esclarecer essa dúvida.

Abraço.
Responder

Gostei + 0

16/05/2013

Junior Miranda

Fala, Junior. Tudo em paz, grande. E com você?

Eu entendi que ele quer trazer, na COLUNA3, o menor valor no seguinte sentido: se o valor da coluna3 for menor que o parâmetro que ele passar, trazer o valor da coluna. Se o parâmetro for menor que o valor da coluna, trazer o parâmetro no lugar do valor da coluna.

Pareceu meio enrolada minha explicação, mas acho que deu pra entender.

Por exemplo, supondo que se tenha os valores:
1 João 16/05/2013
2 Maria 10/05/2013
3 José 01/05/2013

Ele queria algo do tipo:
SELECT CODIGO, EMPREGADO, MENOR(DataAdmissao, :DataParametro)


Sendo 'DataParametro' igual a 1/4/2013, o resultado seria:
1 João 01/04/2013
2 Maria 01/04/2013
3 José 01/04/2013


Eu entendi assim, talvez ele possa nos esclarecer essa dúvida.

Abraço.


Tudo na paz!

Você tem toda razão!! O que ele precisa é fazer uma comparação de datas, registro a registro.

Abraço.
Responder

Gostei + 0

16/05/2013

Guilherme Alves

Pessoal, encontrei a solução. A função MINVALUE() faz exatamente o que eu preciso. Mesmo assim, muito obrigado pela atenção de vocês.

Moderador, pode fechar o tópico.
Responder

Gostei + 0

16/05/2013

Joel Rodrigues

Valeu pelo retorno, Guilherme. E obrigado ao Junior pela colaboração.
Sendo assim, estou marcando este tópico como CONCLUÍDO.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar