MySQL表在一个字段中有多个值

时间:2014-11-08 16:56:16

标签: mysql

我有一个MySQL表,其中某些行中出现多个值。在下面的示例中,这些值由竖线(|)分隔。

+---------+------+
| cui     | type |
+---------+------+
| 100     | A    |
| 101|102 | A    |
| 103     | B    |
| 104|103 | C    |
+---------+------+

我想知道如果存在多个值,如何仅检索第一个值。例如,上表应作为

返回
+---------+------+
| cui     | type |
+---------+------+
| 100     | A    |
| 101     | A    |
| 103     | B    |
| 104     | C    |
+---------+------+

非常欢迎任何建议。

1 个答案:

答案 0 :(得分:1)

您可以使用substring_index()

功能
mysql> select substring_index('101|102','|',1);
+----------------------------------+
| substring_index('101|102','|',1) |
+----------------------------------+
| 101                              |
+----------------------------------+

所以查询变为

select substring_index(cui,'|',1) as cui,
type
from table_name