在我的表中,我有一个文本列,其中包含格式的数据,如:
["Name",100,500]
["Long Name", 8,0]
["Very Long Name",5000,1000]
我想只使用SQL查询从这些字符串中选择第一个参数。我能做到这一点吗?我希望看到结果
Name
Long Name
Very Long Name
etc.
我知道我可以选择所有行,然后在PHP中将其解码为数组并显示,但我也希望能够仅使用mysql执行不同的操作,例如group by Name。
答案 0 :(得分:0)
您可以使用以下查询:
SELECT REPLACE( SUBSTRING_INDEX( <column_name>, '"', 2), '["', '' )
FROM <table_name>
其中<column_name>
是列的名称,<table_name>
是表格的名称。
此代码的作用:
SUBSTRING_INDEX( <column_name>, '"', 2)
返回第二个双引号之前的所有内容,例如:[&#34; Long Name ["
。