ITPub博客

首页 > 数据库 > Oracle > Oracle Long类型转换为Clob类型

Oracle Long类型转换为Clob类型

原创 Oracle 作者:maojinyu 时间:2011-11-17 09:25:14 0 删除 编辑

INSERT INTO sammy_test_clob
SELECT TO_LOB (report_xml)
FROM qm_s_report
WHERE report_name = 'Sammy';


TO_LOB函数和LONG类型一样,限制有很多。简单的说,TO_LOB一般只用在CREATE TABLE或INSERT TABLE语句后面的子查询中。在其他地方使用会报错,比如UPDATE语句。

这还不是最大的问题,最大的问题在于,TO_LOB函数似乎并没有真正的将LONG类型转化为LOB数据类型。个人感觉,Oracle只是对LONG类型做了一些处理,使之可以存放到一个LOB类型中去。

[@more@]

LONG: 可变长的字符串数据,最长2G,LONG具有VARCHAR2列的特性,可以存储长文本一个表中最多一个LONG列
  LONG RAW: 可变长二进制数据,最长2G
  CLOB: 用来存储单字节的字符数据
  NCLOB: 用来存储多字节的字符数据
  BLOB: 用于存储二进制数据
  BFILE: 存储在文件中的二进制数据,这个文件中的数据只能被只读访。但该文件不包含在数据库内。
  
  CLOB,NCLOB,BLOB都是内部的LOB(Large Object)类型,最长4G,没有 LONG只能有一列的限制

  我要保存图片、文本文件、Word文件各自最好用哪种数据类型?
  --BLOB最好,LONG RAW也不错,但Long是oracle将要废弃的类型,因此建议用LOB。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9907339/viewspace-1056373/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-05-09

  • 博文量
    178
  • 访问量
    376692