jac*_*bot 9 mysql concatenation
我有一个MySQL数据库,其中包含人员列表,包括他们的地址,我想在查询中将其作为一个字段返回.它分裂了address1, address2, address3, address4, post_code,我想做类似以下的事情
SELECT CONCAT(`address1`, ' ', `address2`, ' ', `address3`, ' ', `address4`, ' ', `post_code`) AS `address` FROM `table`
Run Code Online (Sandbox Code Playgroud)
所以我最终得到一个完整的地址字符串,address其中工作正常,但如果某些字段为空,那么我最终会得到很多双倍空格.如何消除多余的空间?有没有比在每个字段上执行IF()更简单的方法?
Qua*_*noi 19
SELECT CONCAT_WS(' ', NULLIF(address1, ''), NULLIF(address2, ''), NULLIF(address3, ''), NULLIF(address4, ''), NULLIF(post_code, ''))
FROM table
Run Code Online (Sandbox Code Playgroud)
如果您的空字段NULL实际上是,您可以省略NULLIF构造:
SELECT CONCAT_WS(' ', address1, address2, address3, address4, post_code)
FROM table
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4497 次 |
| 最近记录: |