Executando uma expressão como SQL
Olá!
Estou executando a seguinte expressão SQL:
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!
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
Curtidas 0
Respostas
Raserafim
24/03/2005
42 (ponto) 300 (ponto) 10 (ponto) porque esses pontos?
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.
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
Delphi32
24/03/2005
se fosse 42 milhões e 300 mil e 10, o último ponto deveria ser uma vírgula!
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
Bon Jovi
24/03/2005
Pra calculos o único separador que se deve usar é para o decimal. Até numa calculadora simples é assim.
Entao fica assim:
SELECT (42300.10 * 90) / 100 FROM RDB$DATABASE
Entao fica assim:
SELECT (42300.10 * 90) / 100 FROM RDB$DATABASE
GOSTEI 0