oracle中clob字段不能用distinct?

wj539h 2008-09-03 03:56:38
下面的SQL语句dr.DATACONTENT是CLOB类型,当我加上distinct就报错,我一搜发现是CLOB类型的不能用distinct,可是如果我不加又有重复了,我应该怎么解决呢?
select
distinct dr.dataid, dr.DATACONTENT,dr.dataname,
dr.DATAURL,
dr.DATADESC,
dr.ISDOWNLOAD,
dr.FENSTATE,
dr.FENUSERID,
dr.fenreason,
dr.HASINDEXMETADATA,
drr.dataid
from tb_datarecord dr, tb_datarole_relation drr
where dr.dataid = drr.dataid(+)
and dr.dataid in (select distinct drrt.dataid from tb_datarole_relation drrt)
...全文
1602 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wj539h 2008-09-03
  • 打赏
  • 举报
回复
可是varchar存放的容量满足不了怎么啊?我必须用CLOB,我当时是不想对CLOB类型distinct了,但是没办法,我必须要把它选出来
lysamper 2008-09-03
  • 打赏
  • 举报
回复
转换成varchar再distinct(若存储二进制的数据就无办法了),
疑问:还有对clob字段的distinct
oracledbalgtu 2008-09-03
  • 打赏
  • 举报
回复
用dbms_lob.substr先把clob转换成varchar2再distinct
[Quote=引用楼主 wj539h 的帖子:]
下面的SQL语句dr.DATACONTENT是CLOB类型,当我加上distinct就报错,我一搜发现是CLOB类型的不能用distinct,可是如果我不加又有重复了,我应该怎么解决呢?
select
distinct dr.dataid, dr.DATACONTENT,dr.dataname,
dr.DATAURL,
dr.DATADESC,
dr.ISDOWNLOAD,
dr.FENSTATE,
dr.FENUSERID,
dr.fenreason,
dr.HASINDEXMETADATA,
drr.dataid
from tb_dat…
[/Quote]

17,380

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧