[Resolvido] Converter double para Int numa consulta no MySql

6 respostas
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á.

6 Respostas

E

Tenta assim(não testado):

SELECT CAST(seuCampo AS INTEGER)
Paezani

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

Y

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
Paezani

Valeu colega!!
Funcionou aqui…

Abraço

Y

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

sergiotaborda

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á.

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.

Criado 9 de julho de 2009
Ultima resposta 16 de jul. de 2009
Respostas 6
Participantes 4