设为首页 加入收藏

TOP

oracle sql clob查询重复数据,多字段
2014-11-24 02:03:10 来源: 作者: 【 】 浏览:14
Tags:oracle sql clob 查询 重复 数据
oracle sql clob查询重复数据,多字段
COMPARE 函
clob字段在查询时是无法 group by 和 distinct 的,所以如果要根据clob查找重复的数据是很麻烦的,网上大多提出要用DBMS_LOB.SUBSTR 来解决,DBMS_LOB.SUBSTR 把clob转换成字符串段再进行group by,而且如果字数太多还得分段转换,这样操作起来太麻烦,而且容易出现 字符串缓冲区太小 的错误,在网上搜了好久,突然发现 Dbms_Lob.Compare 可以解决这个问题。
COMPARE 函
COMPARE 函 定偏移的 定 度的 大型物件, 行 切的逐位元 比 。
此函 回:
零,如果 大型物件於指定偏移的指定 度完全相同
非零,如果物件不相同
空值,如果 amount、offset_1 或 offset_2 小於零。
比 的大型物件的 料 型必 相同。
以下,是我最终的sql,remark是clob字段
1
Select * From Userinfo Where Id In(
2
    Select U.Id From Userinfo U,Userinfo User_Info
3
        Where U.Id!=User_Info.Id
4
        And U.Typeid=User_Info.Typeid
5
        And u.theTime=User_Info.theTime
6
        And u.createId=User_Info.createId
7
        And Dbms_Lob.Compare(u.Remark,User_Info.Remark)=0
8
        Group By u.Id
9
)Order By id;

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇ORACLE数据库汉字占用字节数 下一篇Oracle中SQL语句执行效率的查找与..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: