• oracle中Blob和Clob类型的区别


    注:本文来源于:《oracle中Blob和Clob类型的区别



    1.BLOB   
    BLOB全称为二进制大型对象(Binary   Large   Object)。它用于存储数据库中的大型二进制对象。可存储的最大大小为4G字节  
    2.CLOB   
    CLOB全称为字符大型对象(Character   Large   Object)。它与LONG数据类型类似,只不过CLOB用于存储数据库中的大型单字节字符数据块,不支持宽度不等的字符集。可存储的最大大小为4G字节

         通常像图片、文件、音乐等信息就用BLOB字段来存储,先将文件转为二进制再存储进去。而像文章或者是较长的文字,就用CLOB存储,这样对以后的查询更新存储等操作都提供很大的方便。

    JAVA里面对CLOB的操作

      在绝大多数情况下,使用2种方法使用CLOB

      1 相对比较小的,可以用String进行直接操作,把CLOB看成字符串类型即可

      2 如果比较大,可以用 getAsciiStream 或者 getUnicodeStream 以及对应的 setAsciiStream 和 setUnicodeStream 即可

      读取数据

    1 ResultSet rs = stmt.executeQuery("SELECT TOP 1 * FROM Test1");
    2 rs.next();
    3 Reader reader = rs.getCharacterStream(2);

      插入数据 

    1 PreparedStatement pstmt = con.prepareStatement("INSERT INTO test1 (c1_id, c2_vcmax) VALUES (?, ?)");
    2 pstmt.setInt(1, 1);
    3 pstmt.setString(2, htmlStr);
    4 pstmt.executeUpdate();

      更新数据

    复制代码
    1 Statement stmt = con.createStatemet();
    2 ResultSet rs = stmt.executeQuery("SELECT * FROM test1");
    3 rs.next();
    4 Clob clob = rs.getClob(2);
    5 long pos = clob.position("dog", 1);
    6 clob.setString(1, "cat", len, 3);
    7 rs.updateClob(2, clob);
    8 rs.updateRow();
    复制代码


  • 相关阅读:
    crt中文乱码
    idea使用git版本控制忽略部分文件
    Springboot配置redis连接池参数
    redis通过lua脚本实现分布式锁
    jodaTime的使用
    jmap的使用
    代理服务器没有响应解决方案
    C/C/C++中暂停调试的三种方法C++中暂停调试的三种方法
    C/C/C++中暂停调试的三种方法C++中暂停调试的三种方法
    四种常见的post请求中的参数形式
  • 原文地址:https://www.cnblogs.com/ios9/p/9303826.html
Copyright © 2020-2023  润新知