Esta setencia sql que esta recogiendo:
Código MySQL:
No se el CASE WHEN CHAR_LENGTH Y el THEN CONCAT_WSVer original
Un Saludo.
| ||||
Explicacion setencia Sql Hola a todos: Esta setencia sql que esta recogiendo:
Código MySQL:
No se el CASE WHEN CHAR_LENGTH Y el THEN CONCAT_WSVer original Un Saludo. Última edición por gnzsoloyo; 08/10/2012 a las 07:51 Razón: No poster codigo de programación. Sölo SQL |
| |||
Respuesta: Explicacion setencia Sql
Código MySQL:
Ver original Manual Cita: CHAR_LENGTH(str) Retorna la longitud de la cadena de caracteres str, medida en caracteres. Un carácter de múltiples bytes cuenta como un sólo carácter. Esto significa que para una cadena de caracteres que contiene cinco caracteres de dos bytes, LENGTH() retorna 10, mientras CHAR_LENGTH() returna 5. Cita: CASE WHEN condición CONCAT_WS(separator,str1,str2,...) CONCAT_WS() significa CONCAT With Separator (CONCAT con separador) y es una forma especial de CONCAT(). El primer argumento es el separador para el resto de argumentos. El separador se añade entre las cadenas a concatenar. El separador puede ser una cadena como el resto de argumentos. Si el separador es NULL, el resultado es NULL. La función evita valores NULL tras el argumento separador. mysql> SELECT CONCAT_WS(',','First name','Second name','Last Name'); -> 'First name,Second name,Last Name' mysql> SELECT CONCAT_WS(',','First name',NULL,'Last Name'); -> 'First name,Last Name' En MySQL 5.0, CONCAT_WS() no evita cadenas vacías. (Sin embargo, evita NULLs.) THEN si condición es cierta ELSE si no es cierta END Parece que tu condicional esta incompleto puesto que CHAR_LENGTH(p.alias) no es en si mismo una condición, solo lo seria si el resultado de la función fuese un booleano (true/false), como puedes leer en el manual no es el caso. Es mucho suponer pero si de lo que se trata es de evitar los problemas que pueda acarrear un NULL en el alias seria mucho mas logico hacer...
Código MySQL:
Ver original Donde si tienes una condició alias IS NOT NULL O simplemente IF(g.alias IS NOT NULL,CONCAT_WS(":", g.id, g.alias),g.id) as generoslug' CONCAT_WS(":", g.id, g.alias) con comillas dobles y sin la \ tambien funcionaria
__________________ Quim -------------------------------------------------- Ayudar a ayudar es una buena práctica!!! Y da buenos resultados. Última edición por quimfv; 08/10/2012 a las 06:33 |
| ||||
Respuesta: Explicacion setencia Sql Hola a todos: Gracias por un indicacion quimfv. Con tus indicaciones he analizado la query y no tiene mucho sentido, Si pusiera una condicion de la longitud inferior a algo, tendria sentido. Igual es lo que dices tu, evitar los NULL, siendo asi, es mucho mejor tu sql. No sabia que en la sentencia sql se podia concatenar campos. Algún manual de referencia de sql, donde este documentado las posibilidades del lenguaje sql. Por otra parte, buena indicacion de echar mano a la guia de referencia de mysql. Un saludo. |
| |||
Respuesta: Explicacion setencia Sql Manual es el oficial.
__________________ Quim -------------------------------------------------- Ayudar a ayudar es una buena práctica!!! Y da buenos resultados. |
| ||||
Respuesta: Explicacion setencia Sql En el mismo site, busca en "Documentation Library" ![]()
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
Etiquetas: |