表数据如下
id    description
001   正常汉字
002   正常穑甑某
003   正常汉字
004   正常穑ň腥
对于上面的数据,请问如何将id为002、004这种包含乱码的汉字数据找出来呢

解决方案 »

  1.   

    where description like '%汉字';
      

  2.   

    关键是如何定位是不是乱码 繁体字算不算?
    确定了范围 就要把一行数据取出来分析 根据ascii来判断
    写存储过程吧 简单的sql不好实现
      

  3.   

    你可以like ‘%...%’ 试试 
    你为什么数据库里要有乱码呢
      

  4.   

    繁体字不算乱码,主要是那些不能看懂的汉字
    不管用SQL还是用存储过程都行
      

  5.   

    完整的汉字字符串长度应该都是2的倍数吧,如果lengthb()不是2的倍数,应该就有可能是乱码汉字
    但这只是其中的一个可能而已
      

  6.   

    如果是汉字加标点或数字组成的数据,lengthb()就不是2的倍数了,所以9i查找乱码很麻烦,如果10g的话可以用正则表达式:select * from tab a
    where not regexp_like(a.col,'^([[:alnum:]]|[[:punct:]]|[[:space:]])+$');