从一个字段里面截取想要的数据?
字段的值为:[部门]姓名,USER_ID=leo截取后要求形成一定格式:部门  姓名   USER_ID
XXX   BBB    CCCC请问有几种方法,字符串截取?还是数组?请帮忙

解决方案 »

  1.   

    方法可能有很多。
    但比较容易想到和实现的就是  字符串截取
    利用 LOCATE定位分界字符,然后用MID或者SUBSTRING截取字符串。另外一个简单的方法是用 SUBSTRING_INDEX
      

  2.   

    mysql> set @s='[XXX]BBB,USER_ID=leo';
    Query OK, 0 rows affected (0.00 sec)mysql> select SUBSTRING(SUBSTRING_INDEX(@s,']',1),2) as `部门`,
        -> SUBSTRING_INDEX(SUBSTRING_INDEX(@s,',USER_ID',1),']',-1) as `姓名`,
        -> SUBSTRING_INDEX(@s,'USER_ID=',-1) as USER_ID;
    +------+------+---------+
    | 部门 | 姓名 | USER_ID |
    +------+------+---------+
    | XXX  | BBB  | leo     |
    +------+------+---------+
    1 row in set (0.00 sec)mysql>
      

  3.   

    acmain:set @s=备注
    表结构为:
    用户姓名          时间        日志类型      备注系统管理员    2011-03-03 15:05:09     添加部门 工程部,DEPT_ID=2,DEPT_PARENT=0
    系统管理员    2011-03-03 15:03:22             添加部门 采购部,DEPT_ID=1,DEPT_PARENT=0查询出来的怎么带参数进去呢?