![]() |
Firebird 1.5 Soporta Case When else end?
Hola amigos estoy haciendo una consulta y estoy usando Case para cambiar los valores de algunas cosas pero , me dice el IBEXpert el siguiente error:
Invalid token. Dynamic SQL Error. SQL error code = -104. Token unknown - line 13, char 9. when. La parte del SQl con Case es el siguiente: CASE when "Producto"."P_PeriodoDescripcion"= 'SEMANAL' THEN 'S' end as Tipo_Periodo, , etc, etc. etc. Ya probe de varias formas y nada. Uso Firebird 1.5 Saludos y gracias |
|
¿Podrías mostrarnos la sentencia completa?
|
si lo soporta
|
Te falta el select y el from tabla. |
Gracias por responder
Hola amigos gracias por responder efectivamente lo tengo todo como ustedes me han indicado,yo lo he hecho en SQL server y funciona todo bien, mi duda es en FIrebird no puede funcionar en SQL Query? a fuerzas debe de ser en un StoreProcedure para que funcione?
Aca esta el codigo:
Entonces no se por que en un Query me da este error: Invalid token. Dynamic SQL Error. SQL error code = -104. Token unknown - line 13, char 9. when. Ya vi he intente de varios ejemplos y nada, yo creo que esto no funciona en un Query. Saludos. |
Tambien ya probe asi:
Tambien ya probe asi:
Y me da el siguiente error: Invalid token. Dynamic SQL Error. SQL error code = -104. Token unknown - line 12, char 25. . el error se produce aqui: "Producto"."P_PeriodoDescripcion" Saludos y gracias. |
Pruébalo sin comillas. En Firebird no se utilizan para nombrar la tabla ni el campo.
En este primer SQL te sobra algo:
En este segundo SQL el nombre del campo para usar en el case debe estar después del when:
|
Gracias duilioisola pero no funciono
Hola que tal duilioisola, mira pegue el Codigo en el SQl Editor y me sigue dando los mismo erroeres, lo tratare de probar en un SP, haber que pasa y te cuento, la verdad se me hace rraro que me de este tipo de error en SQL server lo hago perfectamente.
Saludos y gracias. |
Me he dado cuenta de que el when va justo despues del nombre del campo
Pruébalo y me dices algo ... |
Hola duilioisola
Hola amigo , fijate que ya intente asi como dices he incluso pegue el codigo que me enviastes ayer y no funciona ahorita te digo donde marca el error:
el error aparece en esta Linea: case Producto.P_PeriodoDescripcion when 'SEMANAL' THEN 'S' end as Frecuencia_Pagos,etc. Ahi donde te estoy marcando en rojo aparece el error, y si muevo esa parte aveces me da error del When pero ahorita me mando esto: Invalid token. Dynamic SQL Error. SQL error code = -104. Token unknown - line 13, char 15. . Seguire viendo que puede ser, parace que Firebird 1.5 No Soporta el Case When a la perfeccion, me seguire documentando, y te agradesco mucho por la ayuda. Saludos desde Villaflores, Chiapas Mexico. |
Prueba de esta forma y descartas si es el case el error |
Todas las condiciones de Firebird deben ir entre parentesis...
Revisa las Release Notes de Firebird y ahi te daras cuenta de las sintaxis que se pueden usar con esta y otras instrucciones |
Gracias Xander pero no funciona
Cita:
Hola Xabder gracias por tu respuesta de hecho anteriormente lo intente asi , ya lo he intentado de varias formas ahora el error que me da es el siguiente: Invalid token. Dynamic SQL Error. SQL error code = -104. Token unknown - line 14, char 11. when. |
Ya probo haciendo este query solamente???
|
Gracias RONPABLO
Exactemente RonPablo ya probe asi, no te imaginaras de cuantas maneras he intentado hacer esa consulta y sismpre me manda los mismos errores con el When o con el Punto.
Invalid token. Dynamic SQL Error. SQL error code = -104. Token unknown - line 14, char 11. when. o Tambien Invalid token. Dynamic SQL Error. SQL error code = -104. Token unknown - line 13, char 15. . Saludos y gracias. |
Pero cual es el msn exacto que sale cuando manda la instrucción que acabo de enviar??? porque este apenas tiene si mucho 4 lineas y en los que pones van 13 y 14... aquí es solo probar sin las demás tablas... solo para ver que pasa
|
Cita:
Obien sale el error del When o del Punto como este: Invalid token. Dynamic SQL Error. SQL error code = -104. Token unknown - line 14, char 11. when. o Tambien Invalid token. Dynamic SQL Error. SQL error code = -104. Token unknown - line 13, char 15. . Y gracias por tu respuesta, de hecho ya probe con solo un campo y nada , no se que podria ser. Pero aun no he rresuelto este problema. |
Eureka Lo encontre
Hola amigos, como sismpre me termino resolviendo y respondiendo a mi mismo, ya me esta funcionando sin ningun error el siguiente Codigo:
Posiblemente era error del Firebird lo que hice fue , desinstalarlo y volverlo a instalar y asi ya funciono mi script SQL. Nada mas me queda agradecerles por su apoyo y comentarios. |
La franja horaria es GMT +2. Ahora son las 12:57:31. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi