php oracle数据库clob和nclob字段

nclob类型

1.nclob不能使用php的stream_get_contents来获取数据库的资源内容,

2.并且nclob只能使用to_char(字段名)来获取字符信息,

3.to_char是将nclob转成varchar2字符类型,但是varchar2最大自由4000字节,超出4000字节不能完成数据的读取

clob

可以完美解决nclob的缺点

$sql = "select
                ID,BOARDING2,ISOUTSIDE
                from
                WX_CHECKIN
                where  ID = ‘cb9424db95e25309b61a5f20e52eb482‘";
        $data = $this->db->fetchOne($sql, Phalcon\Db::FETCH_ASSOC);

        is_resource($data[‘BOARDING2‘]) && $data[‘BOARDING2‘] =stream_get_contents($data[‘BOARDING2‘]);

  

原文地址:https://www.cnblogs.com/achengmu/p/9571197.html

时间: 2024-08-03 04:16:28

php oracle数据库clob和nclob字段的相关文章

java 操作数据库clob类型大字段

java 操作数据库clob类型大字段,处理工具类如下: package org.shefron.utils; import java.io.StringReader; import java.sql.Clob; import java.sql.PreparedStatement; import java.sql.SQLException; public class ClobUtils { public final static String getValueFromClob(Clob clob

查询Oracle 数据库中带有lob字段的某一个表的大小

注意:由于lob字段有独立的lob segment来存储,故对于带有lob字段的表,不能仅仅查询dba_segments. 以下脚本来自: How to Compute the Size of a Table containing Outline CLOBs and BLOBs[Article ID 118531.1] 经过修改:改为了NVL(SUM(S.BYTES),0) SQL> col "TOTAL TABLE SIZE" format 99999999999999 ---

好记性不如烂笔头20-java对oracle的clob和blob字段的总结

整体情况 CLOB字段在实际工作中,还是有很多的应用场景:但是BLOB字段在现在的大型系统中,作用越来越不尽如人意. 因为数据库资源,在大型系统中,升级成本是最高的:而BLOB字段中大量的数据,会给数据库造成严重的IO问题.如果我们购买几百万的小型机,就是为了存放几张普通图片,估计会被人把牙齿笑掉:虽然数据库有良好的认证系统,但是不代表用文件系统不能实现. 因此,如果是老的系统,如果我们不打算全面重构和升级,那么这个BLOB改用还是要用:如果是新的系统,原则上不推荐BLOB字段,实现的代价较高,

Oracle的CLOB大数据字段类型(转)

一.Oracle中的varchar2类型 我们在Oracle数据库存储的字符数据一般是用VARCHAR2.VARCHAR2既分PL/SQL Data Types中的变量类型,也分Oracle Database中的字段类型,不同场景的最大长度不同. 在Oracle Database中,VARCHAR2 字段类型,最大值为4000:PL/SQL中 VARCHAR2 变量类型,最大字节长度为32767. 当 VARCHAR2 容纳不下我们需要存储的信息时,就出来的Oracle的大数据类型LOB( La

java向oracle数据库Clob读取,写入数据

写入数据 1. 向oracle clob字段创建一个空的 empty_clob()对象. insert  into PTR_AssetXml(cChr_AssetPlanId,cChr_AssetData,Create_Date,Submitter,Last_Modified_By,Modified_Date,Status,Short_Description,Request_ID) "     + "values(?,empty_clob(),?,?,?,?,?,?,(select n

Oracle数据库创建表ID字段的自动递增

转载地址:http://blog.itpub.net/22880668/viewspace-1117343/ 将表t_uaer的字段ID设置为自增:(用序列sequence的方法来实现) ----创建表 Create table t_user( Id number(6),userid varchar2(20),loginpassword varchar2(20),isdisable number(6) ); ----创建序列 create sequence user_seq increment

oracle 数据库 , 表中字段顺序修改

1.首先需要sys或者system权限操作 2.查询需要更改的表的ID select object_id from all_objects where owner = '用户名' and object_name = 'tableName';  注:表名需要大写 3.通过ID查询出该表所有字段的顺序 select obj# , col# , name from sys.col$ where obj#  = '表ID' order by col# 4.修改顺序:更改目标行 , 更改受影响的行 upd

解决比较Oracle中CLOB字段问题

解决比较Oracle中CLOB字段问题 Oracle中CLOB和BLOB字段虽说在开发中满足了存放超大内容的要求,但是在一些简单使用中确频频带来麻烦.CLOB中存放的是指针,并不能直接取到实际值.而SQLServer中的text字段就很方便,可以直接拿来与需要的字符串比对,象什么等于呀小于呀Like呀不在话下.可是换成Oracle就麻烦死了,要开辟一个缓存,把内容一段段读取出来后转换,难道写个where条件都这么复杂?经过多方寻求资料,终于发现一个方便简单的方法:利用dbms_lob 包中的方法

Oracle数据库中,通过function的方式建立自增字段

Oracle数据库无自增字段设置,可以通过function的方式设置字段自增来作为ID. 1.创建表tSequence来存储各表的next ID. 2.创建function类似如下: 1 CREATE OR REPLACE FUNCTION "FUNC_NEXTID" 2 (tablename in varchar2) return number is 3 4 nextid number(12); 5 begin 6 begin 7 select nvl(max(id),-1) int