concat与mysql中的if else

时间:2014-04-09 05:51:56

标签: mysql

我有一个名为phone的表,其中包含3列

  ======================
  | TEL1 | TEL2  | TEL3 |
  =======================
  | 123  | 455   | 3434 |
  =======================
  |      | 455   | 3434 |
  =======================
  | 675  |       |      |
  =======================
  | 123  |       |      |
  =======================
  | 123  | 455   | 3434 |

我想使用mysql查询将这些列连接到一列1,结果如下表

 +---------------------+
 |   Telephone         |
 +---------------------+
 |   123/455/3435      |
 +---------------------+
 |   455/3435          |
 +---------------------+
 |    675              |
 +---------------------+
 |   123               |
 +---------------------+
 |   123/455/3435      |
 +---------------------+

下面的结果不是我使用CONCAT_WS('/',TEL1TEL2TEL3)函数

 +---------------------+
 |   Telephone         |
 +---------------------+
 |   123/455/3435      |
 +---------------------+
 |   455/3435          |
 +---------------------+
 |    675//            |
 +---------------------+
 |   123//             |
 +---------------------+
 |   123/455/3435      |
 +---------------------+

请帮我写一下上述结果的查询

2 个答案:

答案 0 :(得分:3)

试试这个

SELECT REPLACE(CONCAT_WS('/', TEL1 , TEL1 , TEL1 ),'//','') Telephone
FROM   `table`;

修改

您可以使用替换功能,如上所述

查看 HERE

答案 1 :(得分:2)

您可以使用CONCAT_WS

SELECT CONCAT_WS('/',`TEL1`, `TEL2`, `TEL3`) 
FROM Table1