MYSQL 在列中的" "之间选择多个值

  • 本文关键字:选择 之间 MYSQL mysql sql
  • 更新时间 :
  • 英文 :


我有一列返回

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

或者更好——将数据迁移到实际可检索的位置。

最新更新