我有一个MySQL表,其中某些行中出现多个值。在下面的示例中,这些值由竖线(|
)分隔。
+---------+------+
| cui | type |
+---------+------+
| 100 | A |
| 101|102 | A |
| 103 | B |
| 104|103 | C |
+---------+------+
我想知道如果存在多个值,如何仅检索第一个值。例如,上表应作为
返回+---------+------+
| cui | type |
+---------+------+
| 100 | A |
| 101 | A |
| 103 | B |
| 104 | C |
+---------+------+
非常欢迎任何建议。
答案 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