字段名: detail 
类型:   text       要求:在“不”的关键字 前后10个字符内含有“考究”关键字?
        大至解析        1)CONTAINS 能否实现吗,怎么实现?
        2)patindex 能否实现吗,怎么实现?         请高手指点?

解决方案 »

  1.   

    前后10个字符内含有?
    这个太特别了,实现不了CLR函数用正则可以
      

  2.   

    select * from tb where abs(charindex('考究',detail,charindex('不',detail)-10)-charindex('不',detail))<=10
      

  3.   

    实现了,效率也不行如用patindex()取开始,用charindex取结束,或用patindex分段取直接用CONTAINS不行,取不了位置
      

  4.   

    select * from detail where charindex('考究' , substring(cast(text_col as varchar) , charindex('不',cast(text_col as varchar)) - 10 , 21 )) > 0
      

  5.   

    create table tb(detail text)
    insert into tb select '意见稿,涉及事业单位改革中的多项目标,考究如聘用制度、工资制度、社保制度。不人员的工资制度、
    工资构成,需执行国家的统一政策;国家建立健全事业单位工作人员的社会保险'
    insert into tb select '工资制度。工作人员工资由岗位工资、薪级工资、绩效工资和津贴补贴组成。
    岗位工资、薪级工资执行国家不统一的政考究策和标准。事业单位在核定的绩效工资总量内,按照规定的程序和要求进行分配。
    工作人员按照国家规定享受'
    insert into tb select '深圳市财政委提高工作效率,将该拨付的款项尽早拨付。对慈善会发动社会捐款,杨剑昌则表示了支持,
    “福彩公益金数考究额有限,不可能帮助到所有困难劳务工,发动社会捐款,让企业多尽些社会责任是没'
    insert into tb select '深圳市慈善会向媒体公布捐款账号,称因“劳务工关爱基金”账户资金已捉襟见肘,希望广大市民和爱心企业捐款以解燃眉之急。'
    go
    select * from tb where abs(charindex('考究',detail,charindex('不',detail)-10)-charindex('不',detail)) between 1 and 10
    /*
    detail
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    工资制度。工作人员工资由岗位工资、薪级工资、绩效工资和津贴补贴组成。
    岗位工资、薪级工资执行国家不统一的政考究策和标准。事业单位在核定的绩效工资总量内,按照规定的程序和要求进行分配。
    工作人员按照国家规定享受
    深圳市财政委提高工作效率,将该拨付的款项尽早拨付。对慈善会发动社会捐款,杨剑昌则表示了支持,
    “福彩公益金数考究额有限,不可能帮助到所有困难劳务工,发动社会捐款,让企业多尽些社会责任是没(2 行受影响)*/
    go
    drop table tb
      

  6.   


    到 text 里去查东西,俺们别提效率不行.