我的select语句如下所示:
Select column1, column2
From Table1
Group By column2
Run Code Online (Sandbox Code Playgroud)
column1是一个CLOB,我想收到一个属于一个组的值.我知道他们都是一样的,所以我得到哪一个并不重要.我尝试了类似的功能MIN,MAX但他们不接受CLOB作为类型.
要明确我不想聚合CLOB只选择其中一个.
这是实际select语句的简化,并且GROUP-BY子句是必需的.
所以这个数据:
column1 column2
qwerty 1
qwerty 1
asdfgh 2
asdfgh 2
Run Code Online (Sandbox Code Playgroud)
我想得到:
qwerty 1
asdfgh 2
Run Code Online (Sandbox Code Playgroud)
知道如何做到这一点?
甲CLOB值不能被用于分组或一个内部distinct子句.
您唯一的机会是转换CLOB为varchar,但这意味着您无法比较列的完整内容(注意:这些是列,而不是行).如果您确定所有CLOB值都小于8000字节,则可以使用以下内容:
select min(dbms_lob.substr(column1)), column2
from foo
group by column2;
Run Code Online (Sandbox Code Playgroud)