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.

MySQL – Concatenar solo cuando no esté vacío

Estoy tratando de añadir un enlace a mi imagen cuando la retorno de la base de datos, pero no quiero añadirlo cuando la imagen sea nula. Intenté utilizar CONCAT y CONCAT_WS, pero no funcionó.

Ambas opciones no funcionaron:

SELECT id, name_en as name, CONCAT_WS("http://website.com/", image) as image FROM businesses

SELECT id, name_en as name, CONCAT("http://website.com/", image) as image FROM businesses
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para agregar un enlace a una imagen recuperada de una base de datos, pero solo si la imagen no es nula, podrías usar la función IF para concatenar condicionalmente el enlace a la imagen. La sintaxis sería así:

    SELECT id, name_en as name, IF(image IS NOT NULL, CONCAT('http://website.com/', image), NULL) as image_link
    FROM businesses
    

    Esto devolvería una nueva columna llamadaimage_link que contiene la URL completa de la imagen si la columna image no es nula, o NULL de lo contrario. También podrías usar CONCAT_WS en lugar de CONCAT para evitar tener una barra diagonal al final de la URL cuando la imagen sea nula.

Comments are closed.