dúvidas sobre campos

Firebird

27/05/2003

Possuo campos varchar(4) para guardar conceito de alunos. Estas notas podem ser letrar como: A, B, C, D, .. ou numeros: 9,2 5,4 .....
O problema é que quando a escola usa conceito numérico alguns relatórios pedem a média das notas de uma disciplina. A média do aluno em uma disciplina, ....
Tento usar o cast para as notas numéricas trasnformando em um tipo numeric ou double e quando é mostrado o resultado a virgula acaba sumindo das notas. Deixando tudo inteiro. Como 92, 54, ....
Como resolvo????
[/u]


Briciosm

Briciosm

Curtidas 0

Respostas

Jycn

Jycn

27/05/2003

Olá

Poste aqui o codigo que voce está utilizando.

Jycn


GOSTEI 0
Briciosm

Briciosm

27/05/2003

select sum(cast(nota1 as numeric(9,2))+cast(nota2 as numeric(9,2)))/2 from boletim where disciplina=:disciplina and turma=:turma


GOSTEI 0
Marcio.theis

Marcio.theis

27/05/2003

no seu relatório, vc seleciona o campo que vai receber está variável, ou seja a nota, vá nas propriedades e vc vera a propriedade MASK, nela vc coloca uma máscara de n° como por exemplo #,,0.00 está fará com que fique com duas casa decimais após a vírgula, este tipo de máscara é mais utilizada para valores, como dinheiro


GOSTEI 0
Briciosm

Briciosm

27/05/2003

o problema é que meu sql dá o valor errado. Ele acaba esquecendo a virgula e as notas que estavam gravadas em campo string por exemplo
5,2
6,4

o comando cast as ... passa para
52
64

.
tenho que transformar este valor em numérico para que possa realizar operações matemáticas mas a transformação dá errada pelo sql.
Os campos de nota deixo string pois guardam também notas como A, B, C ... Não queria criar campos no boletim para guardar notas numéricas e alfabéticas separadas.
Para gravações, atualizações tudo funciona. Mas quando preciso fazer um sql para calcular a média da nota de uma determinada disciplina não consigo. Ou uma média final, que soma as notas e divide pelo total delas. Está complicado.


GOSTEI 0
POSTAR