Oracle Varchar2 LONG 长度? [问题点数:40分,结帖人Alibert]

Bbs1
本版专家分:0
结帖率 89.66%
Bbs5
本版专家分:4316
Bbs5
本版专家分:4316
Bbs5
本版专家分:4316
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs9
本版专家分:58064
Blank
红花 2011年7月 Oracle大版内专家分月排行榜第一
2011年6月 Oracle大版内专家分月排行榜第一
2011年5月 Oracle大版内专家分月排行榜第一
2010年5月 Oracle大版内专家分月排行榜第一
2010年4月 Oracle大版内专家分月排行榜第一
Blank
黄花 2010年7月 Oracle大版内专家分月排行榜第二
2010年3月 Oracle大版内专家分月排行榜第二
Blank
蓝花 2010年6月 Oracle大版内专家分月排行榜第三
Bbs2
本版专家分:114
Bbs1
本版专家分:0
Bbs5
本版专家分:4316
Bbs5
本版专家分:4316
Bbs1
本版专家分:0
oracle中varchar类型的最大长度
关于Oracle Database中的字段的VARCHAR2类型的最大<em>长度</em>为4000,我们再来看看PL/SQL中VARCHAR2变量类型,如下官方文档所示,它的最大字节<em>长度</em>为32767,所能容纳的字符个数取决于字符集。
varchar2长度,最大可以多大
今天在看12c的administrator  文档,按照上面的语句,创建表的时候出错。提示ORA-00910 C##BB@win12c&amp;gt;CREATE TABLE admin_emp ( 2 empno NUMBER(5) PRIMARY KEY, 3 ename VARCHAR2(15) NOT NULL, 4 ssn NUMBER(9) ENCRYPT USING '...
oracle 中的varchar2(4000)不过存储的解决办法
在<em>oracle</em>中 data <em>varchar2</em>(4000)类型是最大的存储量,一旦超出就会报错,解决这个问题,只需要data 的数据类型变成clob类型的就行了,clob能存储足够大的量(4GB),这个量不用担心会不够存的问题,当然从PL/SQL中去直接该是不行的,这里需要借助SQL语句才行,具体操作如下nn–第一步:添加一个clob类型的字段 nalter table PHM_KH add KHF...
关于oraclevarchar2长度范围
<em>varchar2</em>有两个最大<em>长度</em>:一个是在字段类型4000;一个是在PL/SQL中变量类型32767.准确的说是在schema级varchar的<em>长度</em>类型限制为4000nnn案例:nCREATE OR REPLACE FUNCTION VAR_TEST RETURN VARCHAR2 ISn  T_COL VARCHAR2(32767); --plsql变量的<em>varchar2</em><em>长度</em>范围为1到3
Oracle中varchar2类型字段长度限制使用问题
为纪念中华人民共和国建军90周年,特此一篇,以此纪念,我军威武!!!一、问题背景项目中商品发布,却没有保存成功。二、问题定位初步判断向数据库中保存时出现了错误,查看日志文件,由于日志文件过大就采用grep进行搜索(再一次说明grep 的强大)其中 “ReserveProductService.update” 是要搜索的关键字,catalina.out是日志文件, -n 显示搜索内容所在行数, -B
修改oraclevarchar2型的字段长度报" ORA-00904:无效的标识符" 错误
今天想在修改<em>oracle</em> 中<em>varchar2</em>型的字段<em>长度</em>报&quot; ORA-00904:无效的标识符&quot; 错误,rn原先的sql 是rn rnalter table AC_ARCHIVESSCOPE modify SCOPE VARCHAR2(1000);rn rn后来 把上面的 语句改成如下 修改成功,rn rn rnalter table AC_ARCHIVESSCOPE modify (SCOPE ...
oracle字符类型varchar2一个中文占多少字节
rnOracle 一个中文汉字 占用几个字节,要根据Oracle中字符集编码决定 查看<em>oracle</em> server端字符集rn rnselect userenv('language') from dual;rn rn如果显示SIMPLIFIED CHINESE_CHINA.ZHS16GBK,一个汉字占用两个字节;rn如果显示SIMPLIFIED CHINESE_CHINA.AL32UTF8,一个汉字...
racle 字段长度设置为varchar2(200)能存放多少个汉字吗?
n首先要看数据库的字符集设置成什么了。nn如果是gb2312,因为gb2312存放汉字时占两上字节,所以<em>varchar2</em>(200)能放100个汉字,nn如果是utf-8,因为utf-8则占用三个字节,所以如果是utf-8则只能存200/3 约= 86 个汉字。n...
oracle的index:number,varchar2类型转换关系
使用最新的<em>oracle</em>18c和老一些的<em>oracle</em>9i进行实验:nn均得出如下结论:nn当字段number类型时,存在该number字段索引,无论条件是number,<em>varchar2</em>均可走索引nn当字段<em>varchar2</em>类型时,存在该<em>varchar2</em>字段索引,条件<em>varchar2</em>可走索引,条件number是不走索引的nn nn测试:nncreate table TEST_n(n  owner    ...
oracle字段,由varchar2类型变更为clob类型,报错
将<em>oracle</em>字段,由<em>varchar2</em>类型变更为clob类型,报错:rnrnrnrnrn怎么办?rn网上的解决办法:rnhttp://blog.csdn.net/jssg_tzw/article/details/40829867rnrn方法有很多种,其中一种是rnrnrnrnrn=====但是我的总结,有一种更简单的。rn将该字段删除,重新新增该字段,直接将其类型设置为clob类型。
Oracle中Clob字段类型修改为Varchar2类型实例
--新建一个字段nalter table KQSERVER add temp VARCHAR2(2000);n--将原来字段数据赋值到新字段nupdate KQSERVER set temp=SERVER_IMG;n--删除原来字段nalter table KQSERVER drop column SERVER_IMG;n--重命名新字段为原字段nalter table KQSERVER rena...
varchar2转换clob问题
<em>varchar2</em> -> clob
Oracle主键自增及varchar2
Oracle主键自增:序列名随意取,但是要保证唯一nnn/*创建自增序列*/nCREATE SEQUENCE &quot;序列名,保证唯一&quot;nMINVALUE 1 --最小值nNOMAXVALUE --不设置最大值nSTART WITH 1 --从1开始计数nINCREMENT BY 1 --每次加1nNOCYCLE --一直累加,不循环nNOCACHE...
Varchar2(100)类型到底能存储多少中文
1、<em>oracle</em> <em>varchar2</em>(100) 表示可以存储100个字节rnrn[size=small][color=red]所以100个字节能存储多少中文,要看<em>oracle</em>使用的字符集,在字符集中用多少字节来表示一个汉字。rn[/color][/size]rnrn2、查看表字段占用的字节数:rn[code=&quot;sql&quot;]select length(FEEDBACKCONTEXT),lengthb(F...
Oracle中char和varchar2数据类型有什么区别?有数据”test”分别存放到char(10)和varchar2(10)类型的字段中,其存储长度及类型...
char是定长字符类型,而varchar是变长字符类型。rn有数据”test”分别存放到char(10)和<em>varchar2</em>(10)类型的字段中,其存储<em>长度</em>及类型?rn用char(10)进行存储时,存储被补齐10个空格,其<em>长度</em>为10个字节,而<em>varchar2</em>的存储<em>长度</em>为4个字节。...
char与varchar2的比较
1) CHAR只支持2000字节长n2) VARCHAR2支持4000字节的<em>长度</em>,适用性更好 n3) CHAR 占用更多的存储空间,定义多长,它就占用多长的空间,n插入字符后面自动加空格填充n4) VARCHAR2不论定义多长,都只使用实际插入的<em>长度</em>n5) CHAR和VARCHAR2定义时都必须指定<em>长度</em>n6) 对于需要存储更大<em>长度</em>的情况,可以根据需要考虑LONG和CLOBnn...
Oracle中varchar2(4000)最多能存多少个汉字?
我们都知道,一个汉字占用两个字节,那么Oracle中的Varchar2(4000)到底能存多少个汉字,这个就要看你的数据库编码集,如果是GB2312,存2000个汉字应该没有什么问题,如果你的数据库字符编码集是UTF-8,大概能存1300多一点
oracle函数与存储过程中的类型问题---char 与 varchar2
 select count(*) into v_count from testTable where id0000 = v_id0000;上面这条语句是某一条函数中的语句,其中v_id0000是函数的一个变量,类型为<em>varchar2</em>(20),而id0000是testTable的一个字段,类型为char(19),这种情况即使testTable表中有与v_id0000对应的记录,v_count也会是0...
java和Js 按字节来截取字符串长度(为了符合数据库varchar)
[code=&quot;java&quot;]rn/**rn * 截取符合<em>oracle</em> varchar<em>长度</em>的字符集rn * rn * @author 陈兵rn *rn */rnpublic class SplitString {rnrn public static String subStringByByte(String str,int byteNum) throws Exception {rn byte bt[...
oracle varchar2存汉字出现问题
一、场景:rn页面的remark备注字段在数据库中的<em>长度</em>为<em>varchar2</em>(4000),jsp页面校验<em>长度</em>的方式为:rnvar valFlag = editForm.validate({rnstrucName:{name:'措施名称',notEmpty:true,trim:true,maxLength:256},rnstrategyName:{name:'策略',notEmpty:true,tri
关于oracle字段到jsp前台显示验证中的长度限制问题
// UTF8字符集实际<em>长度</em>计算n function getStrLeng(str){n var realLength = 0;n var len = str.length;n var charCode = -1;n for(var i = 0; i < len; i++){n charCode = str.charCodeAt(i);n if (charCode >= 0 && charCode <=
Oracle不建议使用varchar2来存时间数据,实际案例说明
问题现象n2015年9月客户系统中一条高逻辑读的SQL语句,在业务高峰期执行频率较高,导致系统逻辑读居高不下,同时带高了系统CPU,SQL语句主体部分如下nnnSELECT /* ^^*/nCOUNT(DISTINCT ts_map.draftid) AS recordCountnFROM usr.BillStateMap ts_mapnINNER JOIN usr.create ts_creat...
Oracle字符集与字符类型存储空间占用
数据库的全球化特性是数据库发展的必然结果,位于不同地区、不同国家、不用语言而使用同一数据库越来越普遍。对于不同国家或地区数据库通常会使用不同的字符集,而全球性企业也会选择使用统一编码的数据库字符集。Oracle数据库统一字符集为AL32UTF8,可以参考:Oracle 全球化特性与字符集。对于不同的字符集容易出现转换乱码,同时不同字符集也影响存储空间的占用。 如本文下面的描述。
行专列listagg返回的是varchar2长度过长报错问题
select LISTAGG (a.nename,',') within group (order by a.nename) nename from rn    (select distinct d.ne_name as nename from t_eom_alarm_define d where d.work_id=#PM_ID#) a rnrnrn行专列过长,又不能改成clob类型,所以或行专
mysql的varchar(20)和oraclevarchar2(20)有什么不同?
这里讲一下编码,涵盖内容包括:gbk、utf8编码,汉字,数据库,为什么会出现乱码。rnrnrnrnMysql库,character为utf_8rnrnrn建表test: create table test(a varchar(20));rnrnrn1rn利用length,char_length函数看到字符串‘啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊’在utf_8的编码下占用了60byte空间,以
《卸甲笔记》-PostgreSQL和Oracle的数据类型的对比系列一:字符类型
PostgreSQL是世界上功能最强大的开源数据库,在国内得到了越来越多机构和开发者的青睐和应用。随着PostgreSQL的应用越来越广泛,Oracle向PostgreSQL数据库的数据迁移需求也越来越多。数据库之间数据迁移的时候,首先遇到的,并且也是最重要的,就是数据类型之间的转换。下面根据自己的理解和测试,写了一些数据类型之间的差异以及迁移时的注意事项的文章,不足之处,尚请多多指教。rnrn字
oracle LongRaw 转 Blob 源码
<em>oracle</em> LongRaw 转 Blob 源码 看见有人要求要源码,就发上来了,找了N久,撸主基本不保存源码的!
oarcel修改字段类型
oarcel修改表的字段类型n表中用数据n–修改原字段名nALTER TABLE INFO RENAME COLUMN NAME TO NAME1;n–添加一个和原字段同名的字段nALTER TABLE INFO ADD (NAME VARCHAR2(4000 BYTE)) ;n–将原来的数据更新到新字段中nUPDATE INFO SET NAME = trim(NAME1);ncomment...
VARCHAR2(20)可以存储多少个数字
<em>varchar2</em>是<em>oracle</em>中独有的类型,可以存储0-20个数字(英文写法),如果是中文数字的话只能存储10个。rnrn创建测试表:rnrnrnrnrnrn1rnrn2rnrn3rnrnrnrnrncreate table testrnrn(id int,rnrnname <em>varchar2</em>(20));rnrnrnrnrnrnrn执行这句,这里是21个数字:rnrnrnrnrnrn1rnrnrnr
Oracle varchar2改成大字段类型clob
做项目中经常碰到数据库改字段问题,给自己做个记录,下次直接可以拿来用了。Oracle 有些字段直接修改会报错ORA-22858: invalid alteration of datatype。不允许修改。不允许修改怎么办呢。。总不能把表干掉重新建字段吧。这在生产肯定行不通。可以先建个新字段以clob类型,然后把要改字段类型数据备份到新的字段中,然后删除掉旧的字段,再把新的字段列名改成旧的字段就完成...
oracle Long数据类型总结
--概述rnSELECT *rnFROM t_20160315;rn1.存储可变长字符串,最大<em>长度</em>为2Grn2.对于超出一定<em>长度</em>的文本,基本上用<em>long</em>型存储,比如数据字典表中的许多字段rnSELECT *rnFROM All_Tab_Cols a WHERE a.data_type='LONG';rn3.<em>long</em>型主要用于不需要字符串搜索操作的长串数据,如果需要字段搜索就需要使用<em>varchar2</em>
Oracle 数据字典 long -> varchar2
在做一个数据字典时rn[code=SQL]rn--数据字典表rnCREATE TABLE ZDBA01A(rn ZDBA01A010 VARCHAR(10) NOT NULL, --FIELD_CODE,字段代码rn ZDBA01A020 VARCHAR(100), --FIELD_CHIN,汉字名rn ZDBA01A030 VARCHAR(30), --FIELD_NAME,数据项名rn ZDBA01A040 VARCHAR(10), --FIELD_TYPE,类型rn ZDBA01A050 NUMBER(4,0), --FIELD_LEN, <em>长度</em>rn ZDBA01A060 NUMBER(2,0), --FIELD_DEC,小数位rn ZDBA01A070 VARCHAR(20), --U_NAME,单位rn ZDBA01A080 VARCHAR(50), --FIELD_DEFA,缺省值rn ZDBA01A090 VARCHAR(1), --FIELD_NULL,空值 字段值是否允许为空值rn ZDBA01A100 VARCHAR(200), --FIELD_CAPT,字段说明 rn PRIMARY KEY(ZDBA01A010)rn);rnrn--对字典表进行批量插入时rn-- a.data_default 值为<em>long</em>型,无法转换为<em>varchar2</em>类型rninsert into ZDBA01Arn (ZDBA01A010,rn ZDBA01A040,rn ZDBA01A050,rn ZDBA01A060,rn ZDBA01A080,rn ZDBA01A090,rn ZDBA01A100)rn (select a.column_name,rn a.data_type,rn a.data_length,rn a.data_scale,rn null, --a.data_defaultrn a.nullable,rn b.commentsrn from user_tab_cols a, user_col_comments brn where a.table_name = b.table_namern and a.column_name = b.column_namern and a.table_name = tableName);rn[/code]rn我知道可以用 rn[code=SQL]rndeclarernuserStr <em>varchar2</em>(50);rnrnselect utc.data_defaultrn into userStrrn from user_tab_cols utcrn --表名rn where utc.table_name = TABLENAMErn --字段名rn and utc.column_name = COLUMNNAME;rn[/code]rnrn然后再 substr 将 userStr insert into 到 字典表 里面,这样只能一条一条的查询,转换再插入,可是我是批量插入!rnrn求批量插入时进行<em>long</em> -><em>varchar2</em>转换的解决方法。rn
hibernate映射Oracle中LONG类型
hibernate中使用自定义类型映射Oracle LONG类型
Oracle中BLOB、CLOB、LONG、LongRaw数据类型的区别(转)
LONG: 可变长的字符串数据,最长2G,LONG具有VARCHAR2列的特性,可以存储长文本一个表中最多一个LONG列 rn  LONG RAW: 可变长二进制数据,最长2G rn  CLOB: 用来存储单字节的字符数据 rn  NCLOB: 用来存储多字节的字符数据 rn  BLOB: 用于存储二进制数据 rn  BFILE: 存储在文件中的二进制数据,这个文件中的数据只能被只读访。但该文件不...
oracle varchar2序列的使用
create table book(nbookId <em>varchar2</em>(4) primary key,nname <em>varchar2</em>(20)n);nn--创建序列ncreate sequence book_seq start with 1 increment by 1;n--创建触发器ncreate or replace trigger book_triggernbefore insert on bo...
调试经验——CLOB转换为VARCHAR2
问题描述:nn报表中的某个字段经过聚合(行转列)后,<em>长度</em>超过了Oracle SQL中对VARCHAR2的数据限制(data limit),即4000字节。nn改用CLOB数据类型来存储聚合后的数据,可成功聚合数据。但新的问题随之而来,CLOB数据时不支持GROUP BY语句的。nn所以,有必要将CLOB转换为VARCHAR2。nn nn转换方法:nn使用DBMS_LOB.SUBSTR(字段,截取长...
Oracle怎样把varchar2型转成number型
rn<em>varchar2</em>型转成number型的前提条件是<em>varchar2</em>中存放的数据必须是数字字符,否则在转换过程中会报错。rn使用函数:to_numberrn具体方法:rnselect to_number('100.10') from dual;rn结果:rnrn...
oraclevarchar2最大长度
我有已字符串,如果超过最大<em>长度</em>应该怎么办
oracle数据库,字段是varchar2类型即string,而其实存的是数字,这时候order by的排序结果,肯定有问题
如:rn11排在了9前面,因为是根据string排序的(这样1肯定是在9前面),而不是根据数字的实际大小排序的。rn这时候怎么办呢?rn使用orale的sql关键字:cast,将<em>varchar2</em> 转换成int,但前提是被cast的字段,肯定是数字的形式,而不能是非数字的值,不然会报“无效的数字”错误。rnrnrnrnrnselect * from biz_dict t where t.biz_ty
NVARCHAR2与VARCHAR2的相互转换
n<em>varchar2</em> -> <em>varchar2</em>rnutl_raw.cast_to_<em>varchar2</em>(utl_raw.cast_to_raw(v_nm_login)) rnorrnTranslate(yourWords USING CHAR_CS)rnrn<em>varchar2</em>-> n<em>varchar2</em>rnutl_raw.cast_to_n<em>varchar2</em>(utl_raw.cast_to_raw(v_usern
Oracle varchar2数据类型的长度
我们做了一个新闻发布系统,在数据库有个 newsCon 字段,是<em>varchar2</em>(8000) 在数据库插入数据的时候可以插入,在WEB页面 做了个修改的功能,没有修改新闻的内容,只修改了标题,却发生异常,说是值过大了,这是怎么回事呢?在数据库插入的时候就没事,到了页面就出问题了。。
oracle数据库中将nvarchar2varchar2类型的字段改成clob类型
先将n<em>varchar2</em>、<em>varchar2</em>类型的字段改成<em>long</em>类型的,然后再将<em>long</em>类型改成clob类型
oracle 查询纯数字的varchar2字段数据
nSELECT *rn FROM UCORD01.ORDER_GROUP_SUBrn WHERE LENGTH(EXPRESS_ID) = LENGTH(REGEXP_REPLACE(EXPRESS_ID, '[^0-9]'));rn n
ORACLE中的数据类型.doc
ORACLE中的数据类型.doc 当你在数据库中创建数据表的时候,你需要定义表中所有字段的类型。ORACLE有许多种数据类型以满足你的需要。数据类型大约分为:character, number, date, LOB, 和RAW等类型。虽然ORACLE8i也允许你自定义数据类型,但是它们是最基本的数据类型。在下面的文章中你将了解到他们在<em>oracle</em> 中的用法、限制以及允许值。 l Character 数据类型 Character 数据类型用来存储字母数字型数据。当你在<em>oracle</em> 中定义一个character 数据时,通常需要制定字段的<em>长度</em>,它是该字段的最大<em>长度</em>。ORACLE提供以下几种character 数据类型: CHAR() CHAR数据类型是一种有固定<em>长度</em>和最大<em>长度</em>的字符串。存储在数据类型为CHAR字段中的数据将以空格的形式补到最大<em>长度</em>。<em>长度</em>定义在1——2000字节之间。 当你创建一个CHAR型字段,数据库将保证在这个字段中的所有数据是定义<em>长度</em>,如果某个数据比定义<em>长度</em>短,那么将用空格在数据的右边补到定义<em>长度</em>。如果<em>长度</em>大于定义<em>长度</em>将会触发错误信息。 VARCHAR() varchar型数据是<em>varchar2</em>型数据的快照。 VARCHAR2() <em>varchar2</em>数据类型是一种可变<em>长度</em>的、有最大<em>长度</em>的字母数字型数据。Varchar2类型的字段<em>长度</em>可以达到4000字节,Varchar2类型的变量<em>长度</em>可以达到32676字节。 一个空的<em>varchar2</em>(2000)字段和一个空的<em>varchar2</em>(2)字段所占用的空间是一样的。 NCHAR() 和 NVARCHAR2() NCHAR() 和 NVARCHAR2()数据类型分别与CHAR() 和 VARCHAR2()类型是相同的,只不过它们用来存储NLS(National Language Support)数据。 LONG LONG 数据类型是一个遗留下来的而且在将来不会被支持的数据类型。它将被LOB(Large Object)数据类型所代替。 比较规则 Varchar2和char数据类型根据尾部的空格有不同的比较规则。对Char型数据,尾部的空格将被忽略掉,对于Varchar2型数据尾部带空格的数据排序比没有空格的要大些。比如: Char 型数据: ‘YO’=‘YO ’ Varchar2型数据: ‘YO’<’YO ’
一个汉字等于多少个varchar2
如果Oracle 的字符集是Utf-8, <em>varchar2</em>(4000)最多可以存1333个汉字,而<em>varchar2</em>(4000 char)其实和<em>varchar2</em>(1333 char)一样,也是只能存1333个汉字; 如果Oracle的字符集是GBK,一个汉字是2个字节的话,<em>varchar2</em>(4000)最多可以存2000个汉字,而<em>varchar2</em>(4000rn char)其实和<em>varchar2</em>(200
oracle char,varchar,varchar2的区别和使用方法
<em>oracle</em> char,varchar,<em>varchar2</em>的区别和使用方法 非本人总结,但是说的挺好的! 欢迎下载
oracle截取字符长度
FUNCTION SBUSTR(STR_INPUT IN VARCHAR2, LENGTH_INPUT IN NUMBER)rn RETURN NUMBER ISrn I NUMBER;rn SUB_STR VARCHAR2(2000);rn SUB_LENGTH NUMBER := 0;rn STR_COUNT NUMBER := 0;r...
MySQL VARCHAR字段最大长度到底是多少
varchar(n),n表示什么?rnrnnMySQL5.0.3之前varchar(n)这里的n表示字节数rnMySQL5.0.3之后varchar(n)这里的n表示字符数,比如varchar(200),不管是英文还是中文都可以存放200个rn rnnrnn最大可以是多少rnrnrnMySQL行<em>长度</em>rnrnnMySQL要求一个行定义<em>长度</em>不能超过65535个字节,不包括text、blob等大字段类型
Oracle明明是VARCHAR2类型的数据却要不加引号才能SELECT出来
最近新踩了一个坑,希望能拉正陷在坑中的小伙伴一把。。nn问题描述:我在创建外部表的时候,把学号 register_no 的数据类型定义为 VARCHAR2的,但是当我用nnselect * from test_db_student where register_no='201231000078'查询的时候,未选定行nn但是,当我用 select * from test_db_student whe...
对于ORACLE RAC集群修改MAX_STRING_SIZE的方法(varchar2字段扩展到32K)
Oracle 12c 推出了 <em>varchar2</em>的可扩展性,最大可扩展到32K。如果应用需要在数据库中建立列长超过默认4K(4000B)的列,则需要将数据库参数MAX_STRING_SIZE调整为EXTENDED。
oraclevarchar2(byte)和varchar2(char).doc
<em>oracle</em>中<em>varchar2</em>(byte)和<em>varchar2</em>(char) 细节决定成败
oracle sql将一个varchar型的数据转成多行结果记录
今天在做一个报表的时候,想用一个sql查询最后结果,但在实现的时候遇到一点问题,我查到的一个字段是varchar型的,多个id的组合(如:1,2,3,并且这个结果是一个selete语句实现的),但是我要在另一个表中查询使用这个id,而这个id是int型的。所以,没办法直接使用这个结果,总会报错说无效的number类型。后面同事帮忙查到一个方法可以把这个结果转成对应的行的记录。rn rn例:我查询的...
149.Oracle数据库SQL开发之 大对象——理解LONG和LONG RAW类型
149.Oracle数据库SQL开发之 大对象——理解LONG和LONG RAW类型n欢迎转载,转载请标明出处:nnLOB现在是大块数据的首选存储类型。n但是可能还会遇到下列类型的数据库:nl  LONG用于存储最多2GB的字符数据nl  LONG RAW用于存储最多2GB的二进制数据nl  RAW用于存储最多4KB的二进制数据。n1.  示例表nCREATE TABLE lon
oracle字段类型小结
<em>oracle</em>字段类型小结 CHAR固定<em>长度</em>字符串,最大<em>长度</em>2000,bytes VARCHAR2可变<em>长度</em>的字符串,最大<em>长度</em>4000,bytes,可做索引的最大<em>长度</em>749 NCHAR根据字符集而定的固定<em>长度</em>字符串,最大<em>长度</em>2000
oracle 里面的字段类型为 long,用Java取值
僅此而已(562979545) 1:11:05 rn请教个问题啊,<em>oracle</em> 里面的字段类型为 <em>long</em>,为什么用out.println(rsl.getString(&quot;NEWSCONTENT&quot;));rn取值的时候,提示错误是 流已关闭 rnK┿Or MJ 9:30:33 rn<em>long</em> 不应该用 getString 去接受啊 。 rn僅此而已(562979545) 9:52:45 rn那用...
Oracle中varchar2字段的不可见字符处理
在以前的项目中,曾经出现加密后的字符串数据丢失,加密内容无法正常解密的情况,经查找原因,发现是数据库表的<em>varchar2</em>字段中有chr(0)的不可见字符(即我们通常所说的\0),当出现这种情况时,由于java和c++中对字符串处理的不同,将会导致所取得的字符串<em>长度</em>不同。在java中,字符串的<em>长度</em>可以通过取字符串的字节数组来获得,这样得到的字符串<em>长度</em>为字符串实际的大小(汉字2个字节,其他1个字节);...
oracle如何通过sql查询VARCHAR2字段含有的单引号?
<em>oracle</em>如何通过sql查询VARCHAR2字段含有的单引号?包括插入insert:rnrnrn每个单引号前面加上一个单引号“跳过” 而不进行字符串结尾处理。rn如下:rnSELECT * FROM "YZC"."SYS_ACTION" t where HTML='';rnrnrnrn在search两边的单引号前面都要加 一个单引号,另外整个HTML字段用首尾单引号包含起来,其中的双引号不用处理
Oracle varchar类型数值排序问题
问题描述:A表中存在一个类型为<em>varchar2</em>的字段xh(序号),现根据xh排序SQL:select xh from A a order by a.xh;查询的结果为:1、10、11、12、13、14、15、16、17、18、19、2、20、21、22、23。。。。这不是我想要的结果,理想的结果为:1、2、3、4、5、6、7、8、9、10、11。。。。问题分析:排序时,因xh为varchar类型故...
hibernate 数据大小超出此类型的最大值
在使用hibernate时发现有下面日志错误rn在本地测试相同数据复现不出这一错误,经过反复排查发现是生产的lib里有ojdbc14.jar和<em>oracle</em>6.jar两个jar文件,按文件名ojdbc14文件排在<em>oracle</em>6前面,猜测可能是采用的ojdbc14,将本地数据库驱动替换成ojdbc14后果然能复现出日志错误。至于jar文件的区别http://blog.csdn.net/cooljun6
解决Mybatis3.3中NVARCHAR2生僻字乱码
解决Mybatis3.3中NVARCHAR2生僻字乱码rnrn在数据库中原来的字符串类型都是用<em>varchar2</em>类型存储,现在发现生僻字乱码,遂改为NVARCHAR2,但是依然生僻字乱码。rnrn注意rnrnrn使用的mybatis版本是3.3,不知道再其它版本中是否有同样问题rn这里的乱码和前后端文件等编码无关,即所有中文存入<em>varchar2</em>,只有生僻字乱码,其它正常rnrnrn解决方法rnrn第一步、数据库的varcha...
mybatis返回对象包含Long类型主键值 oracle数据库
原文章不小心被删了 只好再写一篇了。。。rnps: 删除竟然没有确认 而且没有还原 csdn坑啊  rn实体类rnpublic class EventInfo{nn private Long id;nn private String name;nn public Long getId() {n return id;n }nn public void se
TIMESTAMP类型插入到VARCHAR2后转成DATE类型和指定格式字符串
Oracle中的由于TIMESTAMP类型数据未做TO_CHAR格式化处理直接插入到VARCHAR2类型字段中。在VARCHAR2存储的格式为27-NOV-15 12.00.00.000000 PM和27-NOV-15 12.00.00.000000 AM这种格式。由于需要将数据转换成指定的VARCHAR2(14)类型。n解决办法:将字符串转换成TIMESTAMP类型之后在转换成VARCHAR2
ORACLE中一个字符占多少字节?(中文存储)
Oracle中NVARCHAR2和VARCHAR2的区别n【转】NVARCHAR2和VARCHAR2的区别,从使用角度来看区别在于:NVARCHAR2在计算<em>长度</em>时和字符集相关的,例如数据库是中文字符集时以<em>长度</em>10为例,则nn1、NVARCHAR2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符。nn2、而VARCHAR2(10)的话,则只能存进5个汉字,英文则可以存10
oraclevarchar2类型长度问题
<em>oracle</em>数据库中有一个字段类型为<em>varchar2</em>(40),但是sqlserver的相应字段类型为varchar(30)。rn请问有什么函数能在select <em>oracle</em>数据时 将<em>varchar2</em>(40)的数据<em>长度</em>缩短为30。rnrn不能修改<em>oracle</em>和sqlserver的数据库结构。而且<em>oracle</em>中字段<em>varchar2</em>(40)实际使用<em>长度</em>就20多。rn急~
不影响数据的情况下,oracle中将varchar2变成clob类型的语句
//先将需要修改的字段改名进行备份nnalter table CASE_DOCU_SIX_ORDER_CIACT rename column ILLEGAL_FACTS to ILLEGAL_FACTS1;nn//新建一个字段,<em>long</em>类型,由<em>varchar2</em>变成 clob需要以<em>long</em>过度nalter table CASE_DOCU_SIX_ORDER_CIACT add ILLEG...
oracle 表字段varchar2 修改为 clob 备忘
[code=&quot;java&quot;]rncreate table OPT_LOGrn(rn opercontent VARCHAR2(500)rn)rnrnalter table opt_log add tmp_opercontent clob;rnupdate opt_log s set s.tmp_opercontent = s.opercontent;rncommit;rnalter table o...
为什么oracle中字段是varchar型,但是查询的时候不写引号也能查询
隐形转换,一般是有方向的:rn字符和数字比时,从字符转数字;rn字符和时间比时,从时间转字符rn数值和字符有时候会默认相互转化。rnrn数据类型隐式转换,建议不要依赖隐式数据转换:能转换自然没问题,不能转换是报错;关键的是引起其他不可知问题:运行环境变了,原先正常的sql运行不了;性能问题rnrn当你的条件为数字的时候(不管该字段为字符还数字型),直接写数字就可以查询。rn但是为了书写规范,建议你
Java读取Oracle中LONG类型数据
刚刚在工作中遇到的一个问题,数据库是客户方的,我们不能更改。n我在读取某张表的时候,发现,其中的一个字段的类型是LONG(长字符串类型,最大可存储2G的内容),nn然后我通过mybatis,查询数据库,自动封装到JavaBean中,用String类型来接受,发现报错(Causedby:java.sql.SQLException:无效的列型:getCLOBnotimplementedf...
oracle中char已经有值,我要把长度减小,
1,先把char(2)转出<em>varchar2</em>(2) ,<em>长度</em>要对nnalter table A modify  status <em>varchar2</em>(2);nn2 ,把字段去区空格nupdate A set status=trim(status);nn3,在更新<em>长度</em>为1的nalter table A modify  status char(1);nn注意:如果<em>长度</em>过长,更新是没用的,必须删除过长的字段...
Oracle 的number类型,转换为 varchar型时,缺少小数点前的 0 ,解决办法
substr获取该字段的 第一位,ndecode判断是否为 “  .  ”      是的话, ‘0’||字段,  拼接;  否   返回 该字段 nndecode(substr((to_char(b.ReportValue)),0,1),'.','0'||to_char(b.ReportValue),to_char(b.ReportValue)) as Test_Result...
longlong raw的数据类型
<em>long</em>和<em>long</em> raw的数据类型 n1 <em>long</em>和<em>long</em> raw以及raw都可以存储大文件对象 n2 <em>long</em> 用于存储最多2GB的字符数据 n3 <em>long</em> raw用于存储最多2GB的二进制数据 n4 raw用于存储最多4KB的二进制数据。 n5 <em>long</em>和<em>long</em> raw数据类型只支持向后兼容现有的应用程序。
通过dbms_lob.substr()转换clob字段为varchar2类型
在查询dba_stat_extensions视图的时候,其中extension字段是clob类型,直接通过select语句无法显示,如下:rnrn需要通过dbms_lob.substr()转换rnSELECT owner ,a.table_name,trim(dbms_lob.substr(extension,4000)) as extension  FROM dba_stat_extension
NHibernate中Oracle字段类型Clob数据长度过大问题
问题特别奇怪,按理说Clob字段不存在<em>长度</em>过大的问题,但在实际使用中却会提示这个问题。而且字符特别少时,没有问题,特别长时也没有问题,<em>长度</em>在在1千到五千之前就会有问题。实际上因为把Clob字段作为varchar所以会出现<em>长度</em>问题。修改如下:添加类继承NHibernate中的IUserType public abstract class PatchForOracleLobField : IUserT
oracle 发TCP请求到指定端口
create or replace and compile java source named &quot;TcpRequest&quot; asrnpackage com.ora.pro;rnimport java.io.BufferedReader;rnimport java.io.BufferedWriter;rnimport java.io.IOException;rnimport java.io.Input...
Oracle 12.2支持创建的表名长度大于30,最大128个字符
12.2支持创建的表名<em>长度</em>大于30,最大128个字符[<em>oracle</em>@rac1 ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Fri Apr 13 17:18:17 2018Copyright (c) 1982, 2013, Oracle.  All rights reserved.Connected to:Ora...
varchar2改为clob的解决步骤
如下图所示,表里有数据存在:n                                               nnnnn如果直接执行下面的命令,会报如下错误:n                                                  nnnnnnnn解决方案:n        (1)新建一个类型为clob的字段XXX(列)
oracle 中时间类型 date 与 long 互转
 rn在保存时间到数据库时,有时候会保存<em>long</em>型的数据,固定<em>长度</em>是13位,是用当前时间减去1970-01-01,再换算成毫秒得到的结果。rn rn<em>oracle</em>中的实现方式:rn rn rnrnn--日期转换毫秒rnrnSELECT TO_NUMBER(TO_DATE('2005-03-29 12:30:45', 'YYYY-MM-DD HH24:MI:SS') -rn TO_DATE...
HGDB新版本开始兼容oracle varchar2类型,作用pg里的varchar类型支持一致
HGDB新版本开始兼容<em>oracle</em> <em>varchar2</em>类型,作用pg里的varchar类型支持一致rnHGDB 1.3.1还不支持<em>varchar2</em>类型:rnselect version();rn"HighGo Database 1.3.1 windows 64-bit"rnrnrncreate table test (name <em>varchar2</em>(10);rnERROR:  syntax error
“ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋值”解决办法
以前寫過的一篇博文中提到了出現“ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋值”的原因,并給出了原因和解決方法,在這裡回顧一下。(詳見 当遇到“数据大小超出此类型的最大值”和“仅可以为插入 LONG 列的 LONG 值赋值”时...nn  )nn當時的環境: n数据库:Oracle 9in数据库字段类型:<em>varchar2</em>(4000)n输入汉字:大于1000字nn原因:n  n...
Oracle查询数据根据varchar2类型的id进行降序
ID在数据库中是<em>varchar2</em>类型的数据,但数据却都是纯数字,如果没在排序的时候添加“+0”,那么查出来的数据排序会先根据首位进行排序,再根据第二位,以此类推,因为只能识别0-9。n SELECTn t.ID,n t.JMMC,n t.GJTIME,n t.YBTIME,n t.TJTIME,n t.SHTIME...
Oracle中long raw 类型数据读取
n n n 在<em>oracle</em>数据库中,某表的图片以<em>long</em> raw类型存着,想要把这个数据通过程序下载到本地或者导入到数据库其他表.费了好大劲才尝试出的方法,做下记录.if(conn == null){     this.getConn(); }byte[] data = null;FileOutputStream os=new FileOutputStream(...
数据库类型——varchar,varchar2&char
在数据库中varchar,<em>varchar2</em>,以及char是经常使用的字段类型,文章将简要地介绍三者的关系以及联系。
Oracle的number的整数位最大长度是38(小数位最大长度是127位),varchar2的最大长度是4000...
SQL&gt; alter table can_do modify id number(39);rnalter table can_do modify id number(39)rn *rnERROR at line 1:rnORA-01727: numeric precision specifier is out of range ...
oracle如何变更varchar2类型的列为clob
rn目标:将content表中的P2由<em>varchar2</em>变为为clob(直接alter是不行的)rn直接指向下面的语句就行rn rn/****创建临时列P2CLOB **/rnalter table CONTENT add(P2CLOB CLOB );rn/****数据填充 **/rnupdate CONTENT set P2CLOB=P2;rncommit;rncommit;r...
关于orcale varchar2查询数字查不出来的问题
可以看一下,你的值后面是不是有空格,如果有的话,在拿值时就要去掉n例子如下:njavanif(dwid!=null){n dwid = dwid.trim();n while (dwid.startsWith(" ")) {//这里判断是不是全角空格n dwid = dwid.substring(1, dwid.length()).trim();n }n while (dwi...
java邮箱注册验证实现下载
javabean+servlet+jsp+mysql实现邮箱注册验证 相关下载链接:[url=//download.csdn.net/download/snicolashe/5283494?utm_source=bbsseo]//download.csdn.net/download/snicolashe/5283494?utm_source=bbsseo[/url]
Pro Android 卷1+2下载
Pro Android 卷1+2,android 开发丛书系列 相关下载链接:[url=//download.csdn.net/download/rssqian/2257858?utm_source=bbsseo]//download.csdn.net/download/rssqian/2257858?utm_source=bbsseo[/url]
TCPIP详解2-实现下载
TCP/IP详解2-实现,详细讲述了各种协议的实现过程。 相关下载链接:[url=//download.csdn.net/download/j6j6j6x6x6x6/3407309?utm_source=bbsseo]//download.csdn.net/download/j6j6j6x6x6x6/3407309?utm_source=bbsseo[/url]
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 oracle数据库管理培训 oracle数据库开发培训
我们是很有底线的