es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Eliminar el carácter del principio o del final.

Tengo tres campos en mi tabla:
A, B y C
Quiero concatenar algunas expresiones con el caracter de coma, dependiendo de si el campo es positivo o no, aquí está mi consulta SQL:

select 
' ' || (case when A >0 Then 'A es positivo' End) || ','
|| (case when B >0 Then 'B es positivo' End) || ','
|| (case when C >0 Then 'C es positivo' End) || ',' AS resultado
From tabla; 

El problema es que cuando tengo solo un valor positivo, obtengo la coma al final, sin embargo, solo debería separar los valores y no aparecer al final o al principio. ¿Alguien puede ayudarme por favor a eliminar la coma al final o darme una alternativa para todo el tratamiento?

Gracias de antemano.

Saludos;

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en tecnología de la información especializado en reemplazo, concatenación y casos, puedo sugerir la siguiente query SQL para abordar el problema de tener una coma al final cuando solo hay un valor positivo:

    select
    trim(trailing ',' from 
       (concat(
          case when A > 0 then 'A es positivo, ' end,
          case when B > 0 then 'B es positivo, ' end,
          case when C > 0 then 'C es positivo, ' end
    ))) as resultado
    from tabla;
    

    Esta query utiliza la función trim para eliminar la coma al final del resultado. Además, en lugar de concatenar comas al final, concatena descripciones de valores positivos con comas entre ellos utilizando la función concat. Por último, utiliza las funciones trim y trailing juntas para eliminar las comas al final. Esta query debería darte el resultado deseado sin la coma al final.

    ¡Espero que esto te ayude! No dudes en preguntar si tienes alguna otra pregunta.

Comments are closed.