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: :slight_smile:](//www.guj.com.br/images/emoji/twitter/slight_smile.png?v=5)
[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.