表中有一个字段,存放的值含有字母和中文,现在需要将这个字段中的中文查出来。大虾门,可有办法啊。

解决方案 »

  1.   

    楼主是中英文在同一个字段的同一行呢,还是不同行
    如:string中文
    或 string
       中文
    ?
      

  2.   

    select regexp_replace('asdfAC中aSDdsd','[a-z]*[A-Z]*') from dual;
      

  3.   

    9i的可以用asc的函数
    10G的可以用regexp_replace 加正则表达式!
      

  4.   

    select ascii('工') from dual
      

  5.   

    字母和数字都能去:
    select regexp_REPLACE(regexp_REPLACE('dfDf中文sd2中文23d', '\d', ''), '[a-zA-Z]', '') from dual;
      

  6.   

    SELECT A.FK_ID,
           A.URL,
           A.PK_ID,
           A.CITY,
           A.IS_FLAG,
           A.TITLE
      ,TOP_IDX FROM   (select PK_ID,
                   URL,
                   TITLE,
                   CONTENTS,
                   TIME,
                   SOURCE,
                   AUTONAME,
                   0 as IS_AUDITED,
                   FK_ID,
                   IS_FLAG,
                   CITY,
                   TAG,
                   TOP_IDX
              from T_BASE_ART)  A, T_O_CFG B
     WHERE A.FK_ID = B.PK_ID
       AND B.INFO_TAG = '二手市场' AND A.CITY='NJ'这个字段里就是一个SQL,条件是中文,现在要把这个条件过滤出来。
    select regexp_replace('asdfAC中aSDdsd','[a-z]*[A-Z]*') from dual;这种方式试了一下,查不出来,结果很乱,我还怀疑是不是和你里面的换行有关。大虾帮忙看一下。
      

  7.   

    select regexp_REPLACE(regexp_REPLACE('dfDf中文sd2中文23d', '\d', ''), '[a-zA-Z]', '') from dual;
    --这个还是乱码,是不是和换行有关
      

  8.   

    SELECT REGEXP_REPLACE
              (REGEXP_REPLACE
                      (REGEXP_REPLACE (REGEXP_REPLACE ('中,32文1AS字fsdfs符eqw',
                                                       '[[:punct:]]*',    --去标点
                                                       ''
                                                      ),
                                       '[[:lower:]]*',                    --去小写
                                       ''
                                      ),
                       '[[:upper:]]*',                                    --去大写
                       ''
                      ),
               '[[:digit:]]*',                                            --去数字
               ''
              ) result
      FROM DUAL
      

  9.   

    SELECT REGEXP_REPLACE ('中  文   ' || CHR (13) || '    字     符 ',
                           '[[:space:]]*',                                --去空格
                           ''
                          ) RESULT
      FROM DUAL
      

  10.   

    SELECT REGEXP_REPLACE(REGEXP_REPLACE
      (REGEXP_REPLACE
      (REGEXP_REPLACE (REGEXP_REPLACE (ts.sync_sql,
      '[[:punct:]]*', --去标点
      ''
      ),
      '[[:lower:]]*', --去小写
      ''
      ),
      '[[:upper:]]*', --去大写
      ''
      ),
      '[[:digit:]]*', --去数字
      ''
      ),
      '[[:space:]]*',
      ''
      ) result
      FROM  t_comp_sql ts
      

  11.   

    Select regexp_replace(UPPER('ccDSFd234d代发cdf a '),'[[:upper:],[:digit:]]','') from dual;