当前位置: 首页 > 知识库问答 >
问题:

如何在oracle PL/SQL中将CLOB转换为VARCHAR2

吕霖
2023-03-14
  report_len  := length(report_clob);
  report      := TO_CHAR(dbms_lob.substr(report_clob, report_len, 1 ));
  report_clob := null;

我甚至尝试过直接分配

   report_clob := report 

得到同样的结果。

编辑

共有1个答案

翁鸿远
2023-03-14

引用(在此阅读)-

使用强制转换将CLOB值转换为字符数据类型或将BLOB值转换为原始数据类型时,数据库将隐式地将LOB值转换为字符或原始数据,然后显式地将结果值转换为目标数据类型。

所以,像这样的东西应该管用-

report := CAST(report_clob AS VARCHAR2(100));
 类似资料:
  • 问题内容: 我正在做这个 它给了我这个 但是我想要这个 请帮忙。 问题答案: 首先将其转换为十进制, SQLFiddle演示

  • 问题内容: 表:客户 我想将列从更改为`VARCHAR2(1000) 我尝试也 还 如果数据类型不是Clob,但通常会正常工作,但由于我使用的是oracle toad / apex,所以我得到了。 问题答案: 您可以尝试以下方法: 添加一个新列作为varchar2 将UPDATE CLOB名称更新为varchar2列; 经过 测试数据 : DROP CLOB列 将varchar2列重命名为CLOB

  • 问题内容: 如何在SQL Server中将hh:mm:ss转换为hh:mm? 问题答案: 通常,时间戳集的 顺序不正确 ,这意味着您无法获得“最后的”时间戳,该时间戳的时间部分最多为分钟。 在中,将日期时间的时间部分保留为午夜之后的第二个小数部分,该“最后”时间戳记为,但这不能保证与其他存储方法的将来版本兼容。 这意味着您需要将您的状况分为两个状况,其中之一是下一分钟的状况: 该解决方案将有效地使

  • 问题内容: 我试图使用像这样的数字列表。 这是sql过程的一部分,变量’list_of_ids’是varchar,它包含如下所示的id:1、2、3、4、5 ........如何使用此列表和此查询 问题答案: 也尝试一下。这可能是更好的解决方案,因为它不需要创建任何其他功能。oracle regexp_substr会将逗号分隔的值拆分为不同的行,并传递给查询。

  • 问题内容: 我需要传递一个可以使用转换的对象。查询如下所示: 为了传递可以转换为json的HttpResponse对象,我从这里需要做什么? 问题答案: 好吧,如果您只是这样做: 你会得到一个数组数组… 另一种方法是使用: 这将为您提供一个带有索引的json对象… 如果那不是您想要的,那么您需要指定结果的显示方式…

  • 我有一个Oracle表,其中列类型为CLOB。我想保留列顺序并将数据类型更改为VARCHAR2。该列只包含文本。 我得到了一个标准的信息: 我们将不胜感激。我已经在这方面工作了一段时间了。如果你有任何问题请告诉我。