![]() |
Concatenar campos
Hola,
Quiero hacer una concatenación de campos en firebird 1.0.1 como aparece en el libro de la cara oculta de delphi y no me sale ningún dato, lo otro curioso es que con el iboconsole cuando utilizo el concatenador no lo reconoce. No se si es que lo hago mal o en firebir es dif. a ib la concatenacion. el ejemplo aparece asi: Cita:
Gracias de antemano. |
Hola,
si alguno de los dos campos contatenados es NULL, la concatenación de ambos es NULL. Saludos. |
Hola kinobi,
He realizado nuevamente la consulta hoy y me he encontrado con la sorpresa de que si funciona, a pesar de que dices que si uno de los campos es nulo el resultado es nulo. Las pruebas las hago con firebird e iboconsole. Cita:
Me podrías decir que puede suceder o estar sucediendo con las respuestas de las consultas, si se pude detectar alguna anomalía en el motor?? La versión que tengo de firebird es: WI-T1.5.0.3233 Pero la que tengo en casa es otra, creo que es la 1.0.3 ó 1.0.1 Gracias |
Hola,
Cita:
No es algo que ocurra sólo con el operador de concatenación (||), ocurre con cualquier otro operador y tipo de datos de los operandos. Ej. si sumas un par de campos enteros en los que uno de los operandos sea nulo (NULL), el resultado de la suma será también nulo (NULL). Vamos, que no es que no funcione, al contrario, es que funciona así. Recuerda que el valor nulo (NULL) no es ausencia de valor, su significado es que se desconoce el mismo. Saludos. |
Hola
Como comenta kinobi, el estándar SQL indica que el resultado de operar con dos valores, en los que uno de ellos sea Null, da Null. Por eso la solución al problema pasa por utilizar un UDF para convertir el valor Null en una cadena vacía (creo que en la fbudf.dll tienes una función de este tipo llamada NVL), o bien pasar a Firebird 1.5, donde se soporta la función COALESCE que soluciona este problema, en concreto se utilizaría : COLAESCE(Campo1, '') || COALESCE(Campo2, '') NOTA : La función COALESCE devuelve el primer valor no nulo, de una lista de valores. Saludos. |
parametros con coalesce
Es posible utilizar la funcion coalesce con parametros?
lo intento usar pero da error. Saludos y gracias. |
Hola.
Esta función solo está disponible en Firebird 1.5 Saludos. |
La franja horaria es GMT +2. Ahora son las 09:26:54. |
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