10
votes

MySQL Concaténant les champs mais ignorant les vides

J'ai un dB mysql avec une liste de personnes, y compris leur adresse, que je souhaite retourner comme un seul champ dans une requête. Il est divisé en adresse 1, adresse2, adresse3, adresse4, post_code code> et je veux faire quelque chose comme le suivant

SELECT CONCAT(`address1`, ' ',  `address2`, ' ', `address3`, ' ', `address4`, ' ', `post_code`) AS `address` FROM `table`


0 commentaires

3 Réponses :


2
votes

Utilisez CONCAT_WS à la place Concat

SELECT CONCAT_WS(' ',`address1`, `address2`,  `address3`,  `address4`,  `post_code`) AS `address` 
FROM `table`;


0 commentaires

20
votes
SELECT  CONCAT_WS(' ',  address1, address2, address3, address4, post_code)
FROM    table

0 commentaires

1
votes

Au lieu de ifnull, vous pouvez également utiliser des coalesce, il est fait pour cette tâche.


0 commentaires