title: Conditional CONCAT with potentially NULL or empty values
body: <p>In the below piece of code, I am creating an Address field by concatenating various parts of an address.</p>
  
  <p>However, if for instance <code>address2</code> was empty, the trailing <code>,</code> will still be concatenated into Address.</p>
  
  <p>This means if all fields were empty, I end up with a result of <code>,,,,</code>.</p>
  
  <p>If <code>address1</code> is <code>"House Number"</code> and everything else is empty, I end up with <code>House Number,,,,</code>.</p>
  
  <pre><code>CONCAT( COALESCE(address1,'')   ,   ', '    , 
          COALESCE(address2,'')   ,   ', '    , 
          COALESCE(address3,'')   ,   ', '    , 
          COALESCE(city,'')       ,   ', '    , 
          COALESCE(zip, '')
  ) AS Address, 
  </code></pre>
  
  <p>Is there some way of conditionally placing the commas between address parts only if the content of an address part is not empty. </p>
  
  <p>Such as something along the lines of (pseudo-code) <code>IF(address1) is NULL use '' ELSE use ','</code> </p>
  
  <p>Thank you.</p>