`
daoshud1
  • 浏览: 557213 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Oracle Blob转成字符串

 
阅读更多
Oracle数据库中的Blob字段转成字符串的函数:
1、Utl_Raw.Cast_To_Varchar2(blob_var)只支持Blob长度小于2000的字段:
--Mysql 
Select Count(*) From Score_News_Online A Where A.Onlineflag=1 And Trim(Unhex(Hex(A.Onetitle)))=Trim(Unhex('D5AEC8A8'))
And A.Newstype='news_sc_newstype_yxdt' And (A.Asstitle Between '10000000' And '50000000')
--Oracle
Select Count(*) From Bp_Winner_Ticketphoto A Where Convert(Utl_Raw.Cast_To_Varchar2(A.Photodata), 'utf8', 'zhs16gbk')='债权' 
And A.Newstype='news_hub_newstype_yxdt' And (A.Asstitle Between '10000000' And '50000000')

2、Blob_To_Varchar 自定义函数支持Blob长度大于2000的字段:
--Only for Oracle 注意字段数据类型转换
Create Or Replace Function Blob_To_Varchar (Blob_In In Blob) Return Varchar2 
Is
    V_Varchar Varchar2(4000); 
    V_Start Pls_Integer := 1; 
    V_Buffer Pls_Integer := 4000; 
Begin
    If Dbms_Lob.Getlength(Blob_In) Is Null Then
        Return '';
    End If;
    For I In 1..Ceil(Dbms_Lob.Getlength(Blob_In) / V_Buffer) Loop
        --当转换出来的字符串乱码时,可尝试用注释掉的函数
        --V_Varchar := Utl_Raw.Cast_To_Varchar2(Utl_Raw.Convert(Dbms_Lob.Substr(Blob_In, V_Buffer, V_Start),'SIMPLIFIED CHINESE_CHINA.ZHS16GBK', 'AMERICAN_THE NETHERLANDS.UTF8'));
        V_Varchar := Utl_Raw.Cast_To_Varchar2(Dbms_Lob.Substr(Blob_In, V_Buffer, V_Start));
        V_Start := V_Start + V_Buffer; 
    End Loop;
    Return V_Varchar;
End Blob_To_Varchar;
分享到:
评论

相关推荐

    oracle blob转文件读取

    在上述代码中,`OracleBlobControl`类包含了数据库连接字符串`constr`和临时文件路径`tempFilePath`的定义。通过`OracleConnection`类创建数据库连接,并通过`init`方法初始化连接和命令对象。 #### 2. 保存Blob...

    oracle Blob转换Clob

    ### Oracle Blob转换Clob #### 知识点一:Oracle Blob与Clob的基本概念 - **Blob (Binary Large Object)**:在Oracle数据库中,Blob类型用于存储大量的二进制数据,如图像、视频或文档等非结构化数据。 - **Clob ...

    函数进行BLOB转换Varchar2.txt

    Oracle SQL 函数进行BLOB转换Varchar2

    oracle(blob转换为clob)

    `UTL_RAW.CAST_TO_VARCHAR2`是Oracle提供的一个包中的函数,用于将RAW或BLOB类型的二进制数据转换为VARCHAR2字符串类型。这一步骤对于将BLOB转换为CLOB至关重要,因为CLOB本质上是一种字符数据类型,而不能直接与二...

    java中Blob转String

    分享在JAVA中Blob转换成String实例

    ORACLE中CLOB字段转String类型

    本文将详细介绍如何在Oracle中实现CLOB字段到字符串类型的转换,并探讨其中的关键技术和注意事项。 #### 一、CLOB概述 1. **定义**: - `CLOB`是Oracle数据库提供的一种特殊的数据类型,用于存储大文本数据。 - ...

    Oracle接收长度大于4000的字符串

    - **分块读取**:由于`VARCHAR2`类型的限制,需要分块读取Blob数据,并将其拼接成完整的字符串。 - **性能考虑**:当处理大量或非常大的字符串时,需注意对性能的影响。在实际应用中,可以考虑优化读取逻辑,比如...

    图片与Base64加密码字符串相互转换工具

    2. Base64编码:将图片二进制数据转换成ASCII字符串,方便在网络上传输或存储。 3. 加密算法:如AES、DES等,用于对Base64编码后的字符串进行加密,提高数据的安全性。 4. 密码学:密码的生成、验证与管理,可能涉及...

    ORACLE中BLOB字段导入到SQL SERVER中的IMAGE字段

    通常,我们可以将BLOB数据转化为HEX字符串或Base64编码,以便在文本格式下传输。 3. **数据转换**:由于SQL SERVER的IMAGE字段不再推荐使用,我们可能需要将数据转换为VARBINARY(MAX)类型。如果是从HEX字符串或Base...

    Oracle JSON 字符串处理实例

    在实际应用中,我们可能需要将JSON字符串存储在`CLOB`或`BLOB`类型的列中,然后利用Oracle的JSON函数进行读取和操作。例如,`JSON_OBJECT_T`和`JSON_ARRAY_T`是两个实用的类型,它们分别代表JSON对象和数组,可以...

    oracle LongRaw 转 Blob

    在Oracle数据库中,LongRaw和Blob都是用于存储大对象(LOB)的数据类型,但它们有各自的特点和适用场景。在某些情况下,可能需要将LongRaw字段转换为Blob字段,这通常是因为Blob提供更好的管理和处理大型二进制数据...

    oracle查询blob字段照片(jpeg) 像素大小sql

    综上所述,这段SQL语句可以帮助我们找到存储在Blob字段中的JPEG图片,并通过解析特定的十六进制字符串来获取该图片的尺寸。需要注意的是,这种做法依赖于图片尺寸信息在Blob数据中的固定位置,如果位置发生变化,则...

    ORACLE 存储过程返回结果集,拼接为字符串输出为clob

    大数据量,返回值虽然是CLOB,依然会报错; CLOB变量需要dbms_lob.createtemporary,临时表空间中,建立临时LOB。 大数据量,返回值虽然是CLOB,依然会报错; CLOB变量需要dbms_lob.createtemporary,临时表空间中,...

    Oracle导出Clob,Blob工具

    1. **DataExport.exe.config**:这是应用程序的配置文件,包含运行时环境的设置,如连接字符串、应用程序配置选项等。 2. **Oracle.ManagedDataAccess.dll**:这是Oracle官方提供的Managed Driver,它是一个.NET ...

    图片存入Oracle中,用clob和blob两种方式

    - **图片转二进制/字符串**:对图片进行读取,如果是使用`CLOB`,需要将图片转换为Base64字符串;如果是`BLOB`,则直接读取二进制流。 - **插入数据**:通过SQL插入语句,将转换后的图片数据插入到相应的字段中。 ...

    blob_oracle.rar_blob_blob oracle_c++ oracle blob_oracle_oracle

    在Oracle数据库系统中,BLOB(Binary Large Object)是一种数据类型,用于存储大量的二进制数据,如图像、音频文件或任何非结构化的文本数据。本教程将详细讲解如何使用C++与Oracle数据库进行交互,特别是针对BLOB...

    oracle传入一个字符串,调用webservice

    这个请求体包含了固定的头部信息和动态的数据部分,即传入的字符串参数`AS_STR`。 ```plsql L_STRING1 := L_STRING1|| '...

    sql server中的image类型的数据导出到oracle的clob字段中

    CLOB 字段可以存储大量的 Unicode 字符串数据,并提供了高效的读写机制。 将 Image 类型数据导出到 Oracle 的 CLOB 字段中 为了将 SQL Server 中的 Image 类型数据导出到 Oracle 的 CLOB 字段中,我们需要使用Java...

    ORACLE 超长字符串问题的解决办法

    在Oracle数据库中,有时我们需要处理超出标准VARCHAR2类型限制的超长字符串。本文将深入探讨这个问题,以及如何解决Oracle中的超长字符串问题。 首先,Oracle的VARCHAR2类型最多可以存储4000个字节的单字节字符,...

    C# Oracle Blob格式的文档上传与下载

    - 创建数据库连接:使用`OracleConnection`类创建数据库连接,并设置正确的连接字符串。 - 打开连接:调用`Open()`方法打开数据库连接。 - 创建命令对象:使用`OracleCommand`类,设置SQL插入语句,例如`INSERT ...

Global site tag (gtag.js) - Google Analytics