一个表中有A,B两个字段,都是nvarchar(100)  要查询出 A中的内容,拆开后的字符,每个在B中都存在的记录。
例如 A是 ‘abcd’  那如果B是 'acbd' 、‘dcba’都满足求sql写法 或者自定义函数的写法

解决方案 »

  1.   

    如果 A 是: ‘abcdaa’   B 是‘dcba’ 也满足吗?
      

  2.   

    不满足   A是基础,B的内容会比A多,B只要包括A中的每个字符就算满足
      

  3.   

    select * from tb patindex('%[^'+A+'%]',B)=0
      

  4.   

    这个确实不好做 如果有顺序还可以用 charindex
      

  5.   

    要怎么判断呢?只能每次取一个字符循环AND判断么?主要是这数据一点规律都没啊...
    如果在数据库里做这些操作,感觉还不如在java或则其他语言上定义一些规则..
      

  6.   

    因为只是要导出这些数据,所以想直接用sql来实现,真没办法,也就写程序来判断了
      

  7.   


    语句报错  没用过patindex   在搜索ing
      

  8.   

    create table tb(A varchar(10),B varchar(10))
    insert into tb select 'fbcd','cdbf'
     select 'abcd','cdbr' union
     select 'abcd','cdba' union
     select 'fbcd','cdbf' union
     select 'abcd','cfbr' 
     
     select * from tb where patindex('%[^'+B+']%',A)=0
     
    /*
    A          B
    ---------- ----------
    abcd       cdba
    fbcd       cdbf(2 行受影响)
      

  9.   

    多谢   ssp2009    十分感谢!