create table T
(
vs clob
)
insert into T values('中国');
insert into T values('0.5');
insert into T values('1');
insert into T values('0.8');
帮我把“中国”过滤掉

解决方案 »

  1.   

    select * from T where vs<>'中国';
      

  2.   

    呵呵,不行,我这只是个举例,还可能里面还有个美国,德国,俄国什么的,我需要过滤掉这个字段中的汉字,就是用什么ascii码之类的函数,或者是
    length(vs)=lengthb(vs)之类的,但这个函数对clob字段不支持,所以想向大家请教
      

  3.   

    试试:
    SELECT * FROM T WHERE DBMS_LOB.INSTR(T.vs,'中国',1,1)>0;
      

  4.   

    谢谢楼上的,那我要是再插入几行:
    insert into T values('德国');
    insert into T values('这是汉字');
    insert into T values('这行也要过滤');
    反正不是汉字就过滤,请问该怎么做呢
      

  5.   

    select dbms_lob.substr(vs) from t where lengthb(dbms_lob.substr(vs))=length(dbms_lob.substr(vs));
    --结果
        DBMS_LOB.SUBSTR(VS)
    1 0.5
    2 1
    3 0.8
      

  6.   

    上面是过滤有汉字的,这个是过滤没有汉字的
    select dbms_lob.substr(vs) from t where lengthb(dbms_lob.substr(vs))<>length(dbms_lob.substr(vs));