比如,假如有人恶意注册,用户名都是
test
test123
tset123
123test123
okvip
okviphy
okhypiv
这样的,我想1.当我知道有人以test恶意注册了,怎样找到tset123,test123,test12345这些2.当我不知道哪些用户名是恶意注册,但实际已经存在一些看起来很相似的用户名时,怎么样可以比较方便地找出这些名字来
比如以上可以分为test类似的一组,vip类似的一组?

解决方案 »

  1.   

    1
    SELECT * FROM TB WHERE NAME LIKE '%TEST%'
    2
    第二个有点难区分
      

  2.   

    可以考虑使用字符串比较函数
    DIFFERENCE ( character_expression , character_expression )
      

  3.   

    select difference('test','test123')
    select difference('test','look')
    select difference('test','xxxx')
    /*-----------
    4(1 row(s) affected)
    -----------
    3(1 row(s) affected)
    -----------
    0(1 row(s) affected)
      

  4.   

    但不一定就是test啊,还有tset也属于类似的啊,而且,比如china,chinaren,chinese,chiness,chess这些,如果也都是一个人注册的话,我怎样找这个词呢,,找china的话就找不到chinese这些,找chin的话就找不到chess,类似的还有很多