我有一列返回
a:2:{i:0;s:10:"Properties";i:1;s:14:"Movable Assets";}
我只想退货:
Properties, Movable Assets
如何使用select语句来检索"符号
p>这些是序列化值,您可以使用php来获得所需的结果。您可以使用,unserialize,它将返回一个数组,然后您可以使用内爆来获得逗号分隔的值。
示例
使用SUBSTRING_INDEX()
。
SUBSTRING_INDEX()
采用一个字符串参数,后跟一个分隔符和要返回的部分数。使用分隔符分解字符串后,该部分数将作为单个字符串返回。
select concat(
SUBSTRING_INDEX(
SUBSTRING_INDEX(
SUBSTRING_INDEX(
'a:2:{i:0;s:10:"Properties";i:1;s:14:"Movable Assets";}',
'"',
4
),
'"',
2
),
'"',
-1
),
",",
SUBSTRING_INDEX(
SUBSTRING_INDEX(
SUBSTRING_INDEX(
'a:2:{i:0;s:10:"Properties";i:1;s:14:"Movable Assets";}',
'"',
4
),
'"',
4
),
'"',
-1
)
);
使用LOCATE()
和SUBSTRING()
的组合。
定义:https://dev.mysql.com/doc/refman/5.0/en/string-functions.html
或者更好——将数据迁移到实际可检索的位置。