MYSQL-获取不同长度的子字符串

时间:2014-07-16 16:22:24

标签: mysql

在我的表中,我有一个文本列,其中包含格式的数据,如:

["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。

1 个答案:

答案 0 :(得分:0)

您可以使用以下查询:

SELECT REPLACE( SUBSTRING_INDEX( <column_name>, '"', 2), '["', '' )
FROM <table_name>

其中<column_name>是列的名称,<table_name>是表格的名称。

此代码的作用:

  1. SUBSTRING_INDEX( <column_name>, '"', 2)返回第二个双引号之前的所有内容,例如:[&#34; Long Name
  2. 在上面的结果中用空字符串替换["