Fórum Executando uma expressão como SQL #50079
24/03/2005
0
Estou executando a seguinte expressão SQL:
SELECT (42.300.10*90)/100 FROM RDB$DATABASE
Quando eu usava Firebird 1.0 isso costumava funcionar, mas fiquei muito tempo sem precisar fazer isso. O erro que está dando é o seguinte:
ISC ERROR CODE:335544569
ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, char 9
4
Agora estou usando firebird 1.5 e essa mensagem é retornada pra mim no IBOConsole. Alguém sabe como posso fazer esse cálculo por SQL?
Valeu!
Delphi32
Curtir tópico
+ 0Posts
25/03/2005
Raserafim
se fosse multiplicação deveria ser asterisco!
se fosse 42 milhões e 300 mil e 10, o último ponto deveria ser uma vírgula!
foi mal, mas não entendi.
Gostei + 0
25/03/2005
Delphi32
Sim, esse número representa 42 milhões e 300 mil e 10. Mas na verdade não poderia ser vírgula não. Porque a vírgula é o separador de colunas no select. Veja bem, se eu executar:
SELECT (42.300,10*90)/100 FROM RDB$DATABASE /*REPARE QUE EU COLOQUEI A VÍRGULA*/
Ele vai me retornar em uma coluna ´42.300´ (Que está antes da vírgula, ou melhor, ele entende como a primeira coluna que deve retornar) e retorna uma outra coluna com o resultado de 10*90/100 (isso se eu retirar os parênteses da SQL porque senão dá erro... Como eu faço pra representar esse número em SQL então???
Se pelo menos o Delphi tivesse alguma função como a EVAL do VB eu fazia isso pelo Delphi...
Alguma idéia???
Até!
Gostei + 0
25/03/2005
Bon Jovi
Entao fica assim:
SELECT (42300.10 * 90) / 100 FROM RDB$DATABASE
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)