我想表里面某个字段按照xxx省xxx市xxx县(区)这样的格式 如果数据是这样的格式 则有记录 如果数据不是这样的格式 则过滤掉这样的记录!

解决方案 »

  1.   

    select * from 表 where 某个字段 like '%省%市%县(区)'
      

  2.   

    mysql> select * from 表 where 某个字段 like '%[^省]省%[^市]市%[^县区][县区]%'
      

  3.   

    select * from 表 where 某个字段 like '%省%市%县' or 某个字段 like '%省%市%区'
     (不要高估你的汉语表达能力或者我的汉语理解能力)
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式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)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。   
      

  4.   

    我既然在mysql 问肯定是mysql啊 难道连mssqlserver和mysql 分辨不出?
    我就这么解释下吧!
    你所写的sql语句 我给一个这样的字符串 你来过滤 xxx省xxx市xxx区xxx小区 你这样能过滤掉!
      

  5.   


    create table test(col varchar(100));insert test 
    select 'a省a市b县' Union all 
    select 'b省省c县' union all 
    select 'c省cc市z区' union all
    select 'a省c市市z县' union all
    select 'xx省xx市xx区xxx小区' 
    ;
    mysql> select * from test where col regexp '.*省.*市.*[县区]$' and col  not regexp '小区$';
    +-----------------+
    | col             |
    +-----------------+
    | a省a市b县    |
    | c省cc市z区   |
    | a省c市市z县 |
    +-----------------+
    3 rows in set (0.00 sec)