问题1
我想查找一字段中的内容中含有[]的数据。
我用     col001 like '%[[]%' 可以查到含有[]的内容。
但是我用 col001 like '%[]]%' 就查不到一条内容了。 
col001中有  ....[...]....这样的数据。
这是什么原因?问题2
怎么把[]中的内容给取出来。存到一张表中?
问题3
我一表中有很多数据。。比如说有关教育方面的。政治方面的。我怎么将他们分类。说说思路就行。。

解决方案 »

  1.   

    问题1
    我想查找一字段中的内容中含有[]的数据。col1 like '%[%]%';
    mysql> select '1231[44]asdf' like '%[%]%';
    +-----------------------------+
    | '1231[44]asdf' like '%[%]%' |
    +-----------------------------+
    |                           1 |
    +-----------------------------+
    1 row in set (0.00 sec)mysql> select '123144]asdf' like '%[%]%';
    +----------------------------+
    | '123144]asdf' like '%[%]%' |
    +----------------------------+
    |                          0 |
    +----------------------------+
    1 row in set (0.00 sec)
      

  2.   

    问题2
    怎么把[]中的内容给取出来。存到一张表中?
    create table newtable1 select * from table1 where col1 like '%[%]%'
      

  3.   

    问题3
    我一表中有很多数据。。比如说有关教育方面的。政治方面的。我怎么将他们分类。说说思路就行。。
    如果你的COL2字段是分类字段,内容已经是 教育,政治, 则直接按这个字段进行分就行了。
      

  4.   

    问题1,问题2,顶ACMAIN_CHM
    问题3,你增加一type列 tinyint,不同的类型设置为不同的值
      

  5.   

    问题1
    我想查找一字段中的内容中含有[]的数据。
    我用 col001 like '%[[]%' 可以查到含有[]的内容。
    但是我用 col001 like '%[]]%' 就查不到一条内容了。  
    col001中有 ....[...]....这样的数据。
    这是什么原因?SELECT '1231[44]asdf' LIKE '%[%]%'问题2
    怎么把[]中的内容给取出来。存到一张表中?
    create table newtt as select * from tt where col001  LIKE '%[%]%'问题3
    我一表中有很多数据。。比如说有关教育方面的。政治方面的。我怎么将他们分类。说说思路就行。
    增加一个TYPE(类型字段),建立 一个类型表,与TYPE对应
      

  6.   

    我的问题2可能大家误解了。我的意思是要取  dfaf[fadsfa]af 这里面的 fadsfa 的内容问题3是
    表只有一个字段。里面的数据内容是不同的。 但是不同的内容可能描述的是同一个东西。 这样就要把这两个不同的内容归类到一起。
    表里面的数据有几百万条。不知道大家明白我的意思没、
      

  7.   

    我的问题2可能大家误解了。我的意思是要取 dfaf[fadsfa]af 这里面的 fadsfa 的内容
    create table newtt as 
    SELECT 
    'dfaf[fadsfa]af',MID(ss,INSTR(ss,'[')+1,INSTR(ss,']')-INSTR(ss,'[')-1) FROM (
    SELECT 'dfaf[fadsfa]af' AS ss) a
    问题3是
    表只有一个字段。里面的数据内容是不同的。 但是不同的内容可能描述的是同一个东西。 这样就要把这两个不同的内容归类到一起。
    表里面的数据有几百万条。不知道大家明白我的意思没、贴记录及要求结果出来看看
      

  8.   

    第二个问题,都答错题了,哈哈。mysql> create table t4(id int,comm varchar(20));
    Query OK, 0 rows affected (0.05 sec)mysql> insert into t4 values(1,'daf[ads]da'),(2,'43[123]'),(3,'[www]a');
    Query OK, 3 rows affected (0.02 sec)
    Records: 3  Duplicates: 0  Warnings: 0mysql> select * from t4 where comm like '%[%]%';
    +------+------------+
    | id   | comm       |
    +------+------------+
    |    1 | daf[ads]da |
    |    2 | 43[123]    |
    |    3 | [www]a     |
    +------+------------+
    3 rows in set (0.00 sec)mysql>  select mid(comm,INSTR(comm,'['),INSTR(comm,']')-INSTR(comm,'[')+1) from t4;
    +-------------------------------------------------------------+
    | mid(comm,INSTR(comm,'['),INSTR(comm,']')-INSTR(comm,'[')+1) |
    +-------------------------------------------------------------+
    | [ads]                                                       |
    | [123]                                                       |
    | [www]                                                       |
    +-------------------------------------------------------------+
    3 rows in set (0.00 sec)mysql>  select mid(comm,INSTR(comm,'[')+1,INSTR(comm,']')-INSTR(comm,'[')-1) from t4;
    +---------------------------------------------------------------+
    | mid(comm,INSTR(comm,'[')+1,INSTR(comm,']')-INSTR(comm,'[')-1) |
    +---------------------------------------------------------------+
    | ads                                                           |
    | 123                                                           |
    | www                                                           |
    +---------------------------------------------------------------+
    3 rows in set (0.00 sec)
      

  9.   

    我的问题2可能大家误解了。我的意思是要取  dfaf[fadsfa]af 这里面的 fadsfa 的内容create table newtable1 select SUBSTRING_INDEX(SUBSTRING_INDEX(col1,']',1),'[',-1) from table1 where col1 like '%[%]%'
    mysql> select SUBSTRING_INDEX(SUBSTRING_INDEX(@x,']',1),'[',-1);
    +---------------------------------------------------+
    | SUBSTRING_INDEX(SUBSTRING_INDEX(@x,']',1),'[',-1) |
    +---------------------------------------------------+
    | fadsfa                                            |
    +---------------------------------------------------+
    1 row in set (0.00 sec)mysql>
      

  10.   


    只有一个字段,计算机是没办法知道它描述的是啥,比如你描述一个蠢货的时候,可以用SB,或者傻B,或者傻A和傻C之间等等。这样的描述给不同的人看,都会得到不同的结果,何况是计算机这样一个不懂事的东西呢。
      

  11.   


    顶。。太牛了。。学习了。
    SUBSTRING_INDEX(str,delim,count) 
    返回从字符串str的第count个出现的分隔符delim之后的子串。如果count是正数,返回最后的分隔符到左边(从左边数) 的所有字符。如果count是负数,返回最后的分隔符到右边的所有字符(从右边数)。 
    mysql> select SUBSTRING_INDEX('www.mysql.com', '.', 2);        -> 'www.mysql'mysql> select SUBSTRING_INDEX('www.mysql.com', '.', -2);        -> 'mysql.com'该函数对多字节是可靠的。 
      

  12.   

    不能贴图。我举个例子。表里面的内容071908王雨田浙A-0530G 别克SGM7168MTA13588021408拱墅区-石祥路[中国平安]                                                                                  点卡:网易魔兽15元[卡号:8225008989456密码:643303670]-神州付                                                                                               监控项目 [杨景文导航] 于 5月3日 2:47:03 不可用(无法连接服务器).[监控宝]                                                                                  点卡:网易充值一卡通100点[卡号:0825218740122密码:796551210]-神州付                                                                                               监控项目 [主机IP] 于 5月1日 14:48:05 不可用(数据包全部丢弃).[监控宝]                                                                                  未接来电提醒:015108252311于2010-05-18 22:11:52呼叫名片李宝玉请您及时联系.[95095]                                                                              您的验证码:671685,输入您的验证码和手机号码并点击完成按钮即可完成注册[鹰眼跟踪]   像上面的数据 我要把    监控项目***。这一些分为归为一个类。把 点卡****。归为一个类。  
     
                                                                                                                                                                                                                                                                                                                                    
                                                                                                                                    
                                                                                                                     
                                                                                                                                    
                                                                                                                         
                                                                                                                            
                                                                                                                                                                                                 
              
                                                                                                             
      

  13.   

    楼主,能先看一下 问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧
    反过来我问你,你这 几百W条 记录,放到另一张表XXX后 ,XXX中有多少记录?还是不同行业放到不同表中?不要急于回答,先整理一下你自己的思路,然后想办法准确的表达出你想要的东西,否则别人根本不知道你想要什么。 (不要高估你的汉语表达能力或者我的汉语理解能力)
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。   
      

  14.   

    嗯 
    问题3 现在我有一张表里面有一个字段 但有很多行数据 如下图http://photo8.56.com/albums/userpics/datab/55/82/thumb_mizhihui2007_4c206ee340aec742.jpg现在要把这些数据归类。就像搜狗输入法的词库那样。http://photo8.56.com/albums/userpics/datad/55/82/thumb_mizhihui2007_4c206ede1677f515.jpg
      

  15.   

    嗯  
    问题3 现在我有一张表里面有一个字段 但有很多行数据 如下图http://photo8.56.com/albums/userpics/datab/55/82/thumb_mizhihui2007_4c206ee340aec742.jpg现在要把这些数据归类。就像搜狗输入法的词库那样。http://photo8.56.com/albums/userpics/datad/55/82/thumb_mizhihui2007_4c206ede1677f515.jpg