[Resolvido] Converter double para Int numa consulta no MySql

Pessoal estou realizando a seguinte consulta sql o banco de dados MySql:

select func.nome, 
          diasferias - sum(qtdedias)  as saldo
from funcionarios as func 
where idempresa=1
group by func.id
order by 1

A consulta funciona, até aí tudo bem. Mas a coluna saldo é retornada do tipo Double, daí eu gostaria de saber se há possiblidade de convete-la para integer, e se tiver, como faz isso na consulta.
Obrigado desde já.

Tenta assim(não testado):

SELECT CAST(seuCampo AS INTEGER)

Eu tentei desta forma, e dá erro de sintaxe SQL perto de ‘as INTEGER’.
Não consegui resolver…

Testado:

select func.nome, 
          TRUNCATE(diasferias - sum(qtdedias), 0)  as saldo
from funcionarios as func 
where idempresa=1
group by func.id
order by 1

Valeu colega!!
Funcionou aqui…

Abraço

Sugestão: altera o título do tópico e acrescenta a palavra ‘RESOLVIDO’.
:slight_smile:

[quote=Paezani]Pessoal estou realizando a seguinte consulta sql o banco de dados MySql:

select func.nome, 
          diasferias - sum(qtdedias)  as saldo
from funcionarios as func 
where idempresa=1
group by func.id
order by 1

A consulta funciona, até aí tudo bem. Mas a coluna saldo é retornada do tipo Double, daí eu gostaria de saber se há possiblidade de convete-la para integer, e se tiver, como faz isso na consulta.
Obrigado desde já.
[/quote]

Hum… se vc usa JDBC utilize resultSet.getBigDecimal(columnIndex). Nunca use getDouble().

PAra converter um BigDecimal para int chame intValue. Entã oficaria assim

int valor = resultSet.getBigDecimal(columnIndex).intValue();

Utilize funções do banco o menos possivel, porque podem não ser portáveis.

Se vc usa alguma ferramenta ORM declare o seu campo como BigDecimal e não como double ou Double.