gpt4 book ai didi

java - 如何选择具有 CLOB 数据类型的列

转载 作者:行者123 更新时间:2023-12-02 08:15:04 24 4
gpt4 key购买 nike

我的 jsp 页面上有一个表,其中有一列由类型为 CLOB 的数据库列填充。我在执行此操作时遇到了一些麻烦,并且看到了有关此问题的其他问题,但答案对我不起作用。这是我的声明,其中注释是 CLOB。

   stmt = conn.prepareStatement("SELECT DISTINCT restriction, person, start_date, end_date, comments "
+ " FROM restrictions WHERE person = ? "
+ " AND (start_date BETWEEN TO_DATE (? , 'yyyy/mm/dd') AND TO_DATE (? , 'yyyy/mm/dd') "
+ " OR start_date < TO_DATE (? , 'yyyy/mm/dd') AND end_date IS NULL) " );

stmt.setString(1, Id);
stmt.setString(2, StartRest);
stmt.setString(3, EndRest);
stmt.setString(4, EndRest);
result = stmt.executeQuery();

然后我将在 while 循环中包含这些列:

   while (result.next()) {     
restrictions = StringUtils.defaultString(result.getString("str_restriction"));
.......
// here is where I would get my Clob data from the query.

所以,基本上,我想知道是否有一种方法可以在查询中甚至在 java 代码中翻译 CLOB,因此它可以在我的页面中使用。

最佳答案

问题来自于查询的 distint 子句,它不能应用于 CLOB。

检查是否确实需要 unique 关键字。或者也许您可以将查询重写为

select restriction, person, start_date, end_date, comments from restrictions 
where id in (select distinct id from restrictions where <original where clause>)

PS:下次,请在问题中包含错误消息和您的数据库。我通过简单的 google 搜索“ora-00932 clob”就找到了问题。

关于java - 如何选择具有 CLOB 数据类型的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6585904/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com