通过sql检索全名字符串中的名字

问题描述 投票:0回答:1

我目前在mysql数据库中有一列,其中存储多个全名,以逗号分隔为字符串。我只需要检索所有名称的名字。

names
-------
happy sing, rahul bedi, ashish singh, venkat rao

期望的输出

fname
--------
happy
rahul
ashish
venkat

名称的数量将有所不同,但所有名称都将逗号作为分隔符

我尝试了以下操作,但这只应该给我一个名字:

SELECT LEFT(YourColumn, charindex(' ', YourColumn) - 1) 
mysql regex
1个回答
0
投票

使用MySQL的SUBSTRING_INDEX函数:

SELECT SUBSTRING_INDEX(field, ',', 1)

但是,将列表保留在以分隔符分隔的字符串中通常是对像MySQL这样的关系数据库管理系统的低效使用:通常最好通过将这样的列表保留在(id,value)的单独表中来normalise数据结构对。

source

© www.soinside.com 2019 - 2024. All rights reserved.