Error Code : 1339
Case not found for CASE statement
(0 ms taken)
Pero si hay
Código MySQL:
Ver original
| ||||
duda con case en funcion mysql Tengo el siguiente codigo, y al ejectuarla me dice que Error Code : 1339 Case not found for CASE statement (0 ms taken) Pero si hay
Código MySQL:
Ver original
__________________ Solicito colaboradoras para proyecto social media largo plazo. Manda mp Última edición por gnzsoloyo; 02/04/2013 a las 16:13 Razón: SQL mal etiquetado. |
| |||
Respuesta: duda con case en funcion mysql Hola jolie_girl: Tu código no tienen ningún problema, es posible que hayas copiado mál el código, o que en alguno de los renglones tengas algún caracter especial que esté provocando el error... Este es tu código, eliminando sólo los espacios:
Código MySQL:
Ver original Revisa eso de los espacios al final, es muy común que se copie basura cuando haces COPY-PASTE saludos Leo. |
| ||||
Respuesta: duda con case en funcion mysql joile_girl: No abras temas del mismo tipo de asunto, ni en el mismo foro, ni en foros distintos. Nos obligarás a fusionarlos (como ahora) o a borrar el último. Esto está claramente indicado en las Políticas de Uso de FDW. Por otro lado, por favor, etiqueta correctamente los códigos. Para eso está el combo "Highlight" en la herramienta de edición. Finalmente, quisiera que me explicases más claramente qué es lo que se supone que quieres obtener en esa SF. Puede que haya mejores maneras de lograrlo...
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: duda con case en funcion mysql Hola, no es del mismo tipo, es una duda sencilla simplemente quiero poner if (mesactual > 0 AND mesactual <4) then set messig = 4; pero no funciona, la sintaxis ya busque y no me queda clara, poner varias condiciones en un if, ya hice de todas las formas posibles y saca error
__________________ Solicito colaboradoras para proyecto social media largo plazo. Manda mp |
| ||||
Respuesta: duda con case en funcion mysql Respondeme la última pregunta... A mi entender lo que estás haciendo parece innecesariamente complicado, pero para estar seguro necesito saber qué se supone qu ees lo que quieres hacer. PD: :La función IF() no tiene el THEN como lo escribes, y no se puede usar para una asignación de esa forma. PD 2: de todos modos estabas tratando el mismo tema básico, por lo que bien podrías haber extendido el post para pedir esa aclaración. No necesitabas abrir un thread nuevo para eso.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: duda con case en funcion mysql porque en base a una fecha tengo que sacar fecha de c/ 3 meses por ejemplo si ahorita tengo una fecha que es 1 enero, el trimestre es ahorita 1 abril, pero ya paso, el que tengo que mostrar es 1 julio, me explico?, y asi, dependiendo del mes actual, y no creo que sea el mismo tema, el otro era sobre case y este es sobre estructura if, entonces quiero saber como es la sintaxis de if, no encuentro ejemplos de if con varias condiciones lleva parentesis, no lleva? como es Or?, como es and?... no encuentro por ningun lado ( y el case que hice al principio esta mal, no esta bien ese algoritmo, el agoritmo ya lo corregi ahora ya lo tengo bien, pero falta eso de la sintaxis del if)
__________________ Solicito colaboradoras para proyecto social media largo plazo. Manda mp |
| ||||
Respuesta: duda con case en funcion mysql Primero: Respira. Cálmate al escribir, y por sobre todo, no te olvides de los puntos y puntos aparte. Estás escribiendo como desesperada y resulta difícil entender lo que dices. Segundo, existen innumerables ejemplos en la web, pero lo primero que deberías leer sería el manual de referencia (no entiendo por que a nadie parece ocurrírsele algo tan simple como eso)... Si lo lees, verás que la sintaxis del IF es otra, y también verás que no puedes hacer asignaciones con eso, porque SET no es cláusula de la función: Cita: El bloque de expr1 puede ser cualquier conjunto de condiciones lógicas, siempre que tenga por resultado o TRUE o FALSE. Incluso admite el uso de otras funciones adentro, en tanto sean de una condición tal. IF(expr1, expr2, expr3) Si expr1 es TRUE (expr1 <> 0 and expr1 <> NULL) entonces IF() retorna expr2; de otro modo retorna expr3. IF() retorna un valor numérico o cadena de caracteres, en función del contexto en que se usa.
Código MySQL:
Ver original Si sólo una de expr2 o expr3 es explícitamente NULL, el tipo del resultado de la función IF() es el mismo tipo que la expresión no NULL . En esencia, puedes usarlo para hacer algo como.
Código MySQL:
Ver original Ahora bien, en referencia a los primeros posts, desde ya te digo, que tal como lo describes, la SF que pueda hacer eso requeriría, no demasiadas líneas, y usaría un codigo muchísimo más simple que el que escribiste. Es decir, si, hay modos mejores de lograrlo. Cita: Algoritmos tienen los lenguajes de programación, no el SQL. En SQL no hablamos de algoritmos, ni siquiera con el PL/SQL, sino de sintaxis de consultas, optimización, y otros términos, pero no algoritmo. no esta bien ese algoritmo, el agoritmo ya lo corregi ahora ya lo tengo bien De hecho, los algoritmos del motor de BBDD son inaccesibles a los programadores, porque están en el kernel del DBMS.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: duda con case en funcion mysql Ah ok, gracias por tu respuesta, pero la estoy poniendo en un procedimiento,¿Es igual?, pl/sql if (mesactual >= 4 && mesactual <=6) set messig = 7; ahi sale error, tengo ejemplos en procedimientos que usan la palabra then..
__________________ Solicito colaboradoras para proyecto social media largo plazo. Manda mp |
| ||||
Respuesta: duda con case en funcion mysql El PL/SQL no está estandarizado. Lo que se usa en un DBMS (Oracle, por ejemplo), no sirve para los demás. No son portables. Como te dije, ese modo de escribirlo no sirve en MySQL. Y ya te di un ejemplo de cómo usarla. Por lo visto ni lo miraste. Yo te sugeriría que la SF la pruebes mas o menos parecida a esto:
Código MySQL:
Dime qué resultado te da (no tengo tu base para probarla). Ver original
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: duda con case en funcion mysql Si funciona, no me da lo que quiero, pero ya me diste una idea, ahora solo quiero poner en ese if varias condiciones, ¿Como las pongo? please ayudame if(diferencia>3 && diferencia<6) then ...... if(diferencia >=6 && diferencia <=9) then........ ¿Me explico? ..¿Esta bien el and asi?, me faltan parentesis .. no lleva llaves ??
__________________ Solicito colaboradoras para proyecto social media largo plazo. Manda mp |
| ||||
Respuesta: duda con case en funcion mysql ¿Realmente estás entendiendo? Si usas la función IF, la cosa es:
Código MySQL:
Es anidable y admite uso de funciones dentro de las condiciones.Ver original Pero si usas la estructura de control de flujo IF.. THEN, la cosa es diferente:
Código MySQL:
Son cosas totalmente diferentes,.Ver original Esto sale claramente explicado en el manual: http://dev.mysql.com/doc/refman/5.0/...functions.html http://dev.mysql.com/doc/refman/5.0/...rocedures.html http://dev.mysql.com/doc/refman/5.0/...onstructs.html http://dev.mysql.com/doc/refman/5.0/...statement.html
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: duda con case en funcion mysql AH ok que interesante, si te entiendo todo perfecto, veo que tienes un conocimiento profundo del tema, pero bueno mi pregunta era demasiado mas simple, de hecho solo me faltaba el END IF, yo estaba usando la estructura de control, sin embargo te agradezco bastante tu tiempo, me has ayudado bastante aunque no me hayas respondido directamente, creo que ahora tengo una mejor idea de resolver mi problema, espero que funcione, mañana lo intentaré
__________________ Solicito colaboradoras para proyecto social media largo plazo. Manda mp |
Etiquetas: |