Oracle varchar2 4000】的更多相关文章

关于oracle varchar2 官方文档的描述 VARCHAR2 Data Type The VARCHAR2 data type specifies a variable-length character string. When you create a VARCHAR2 column, you supply the maximum number of bytes or characters of data that it can hold. Oracle subsequently st…
问题描述 需要向数据库中保存数据,但某个字段内容长度过长(有中文.符号.英文),应该根据字符串内容与数据库存储上限合理设置储存方式. 解决思路 分条存储,即多条数据前n个字段一致,最后内容字段不同,下方代码可高效利用数据库空间! 代码如下 public class StringSavingUtils { /** * 根据参数length,将String类型对象,进行截取 * 用于将长字符串,存入数据库中 * 避免过长 数据库保存失败 * 避免直接写死长度 产生不必要数据 * 前提:一个汉字 占3…
VARCHAR2数据类型的最大长度问题,是一个让人迷惑的问题,因为VARCHAR2既分PL/SQL Data Types中的变量类型,也分Oracle Database中的字段类型.简单的说,要看你在什么应用场景下,否则难以回答VARCHAR2数据类型的最大长度问题. ORACLE数据库字段类型 关于Oracle Database中的字段的VARCHAR2类型的最大长度,我们先看下面的例子: SQL> create table test ( name varchar2(4001) ); crea…
oerr ora 0650206502, 00000, "PL/SQL: numeric or value error%s"// *Cause: An arithmetic, numeric, string, conversion, or constraint error// occurred. For example, this error occurs if an attempt is made to// assign the value NULL to a variable de…
[20171218]varchar2(4000)如何保存.txt --//以前写的,不知道为什么被删除了,现在补上. 如果一行能被存储于一个数据块(data block)中,那么其行头(row header)所需容量将不少于 3 字节(byte).在行头信息之后依次储存的是各列的列长(column length)及列值(column value).列长存储于列值之前,如列值不超过250 字节,那么 Oracle使用1字节存储其列长:如列值超过 250 字节,则使用 3 字节存储其列长.列数据(c…
那其中的BYTE和CHAR有什么区别呢 BYTE,用字节指定:VARCHAR2(10 BYTE).这能支持最多10字节的数据,在一个多字节字符集中,这可能只是两个字符.采用多字节字符集时,字节与字符并不相同. CHAR,用字符指定:VARCHAR2(10 CHAR).这将支持最多10字符数据,可能是多达40字节的信息.另外,VARCHAR2(4000 CHAR)理论上支持最多4000个字符的数据,不过由于Oracle中字符串数据类型限制为4000字节,所以可能无法得到全部4000个字符.…
oracle数据库相信大家都比较熟悉,数据库中有一种非常常用的数据类型:字符串型.          对应该类型,在oracle中有三种比较常用的类型:varchar2(byte).varchar2(char).nvarchar2().          那么这三种类型到底有什么区别呢?          首先,我们要时刻记清:无论是varchar2还是nvarchar2,最大字节数都是4000. varchar2(byte):就是默认的表示方式,比如我们写成:varchar2(100),就相当…
今天,往ORACLE一个表的VACHAR2(20)字段中插入七个汉字,提示错误:插入的值太大. 改成插入六个汉字,又可以. 一直以来,都以为一个汉字占两个字节.觉得非常奇怪. 用length().lengthb()函数查看,发现lengthb()是length()的三倍. 于是百度,原来这与ORACLE的字符集设置有关.(以前的项目都是设置成的ZHS16GBK) 字符集设置成ZHS16GBK:汉字占2个字节. 字符集设置成AL32UTF8:汉字占3个字节. 查询字符集:select * from…
1.错误提示: mysql的Data truncation: Data too long for column 'path' at row 1 错误原因: 1.字段过长而导致出错的, 2. 可能是因为数据库里的表设置的字符集不相同. 解决办法: varchar(10) ——>varchar(20) alter table `cms_activity_test` convert to character set gbk collate gbk_chinese_ci;(单独修改指定表的字符集) 其他…
将varchar2类型字段改成clob类型    --增加临时新字段 alter table base_temp add temp clob; --将需要改成大字段的项内容copy到大字段中update base_temp  set temp=content; --删除原有字段alter table base_temp  drop column content; --将新字段名改成原字段名alter table base_temp  rename column TEMP to "CONTENT&…
http://blog.csdn.net/cai7095576/article/details/23999549…
今天在oracle 10g下测试了下varchar2与nvarchar2这两种类型,网上有很多关于这两种类型的区别的帖子,我还是自己测试了下. varchar2(size type),size最大为4000,type可为char或者byte,默认是byte. varchar2最多存放4000字节的数据,不管type是char还是byte.所以如果你设置varchar2(4000 char),你可以存入4000个字母,但是不能存入4000个汉字.如果数据库字符集编码是GBK,那么varchar2最…
1.在oracle中 varchar2的最大长度为4000 bytes,即varchar2(4000),最多能储存2000个汉子或4000位的数字字母.当储存值超过时可以使用clob(Character Large Object)或blob(Binary Large Object)类型. 2.使用clob就要有string转换blob的过程:java.sql.Clob c = new javax.sql.rowset.serial.SerialClob(strObj.toCharArray())…
在oracle 11g下测试了下varchar2与nvarchar2这两种类型,网上有很多关于这两种类型的区别的帖子,我还是自己测试了下. varchar2(size type),size最大为4000,type可为char或者byte,默认是byte. varchar2最多存放4000字节的数据,不管type是char还是byte.所以如果你设置varchar2(4000 char),你可以存入4000个字母,但是不能存入4000个汉字.如果数据库字符集编码是GBK,那么varchar2最多能…
一. varchar2(10)和number应该转换为什么类型? oracle转成mysql时:varchar2(10)可以转成varchar(10)number则要看oracle中存储的具体是什么类型的数据:1.如果是整型,那么mysql中,用int即可:2.如果是带小数位的,那么mysql中可用numeric类型. 注:mysql中没有varchar2(10)和number这两个数据类型 二. Mysql varchar VS Oracle varchar2 mysql和oracle做数据同…
一. varchar2(10)和number应该转换为什么类型? oracle转成mysql时:varchar2(10)可以转成varchar(10)number则要看oracle中存储的具体是什么类型的数据:1.如果是整型,那么mysql中,用int即可:2.如果是带小数位的,那么mysql中可用numeric类型. 注:mysql中没有varchar2(10)和number这两个数据类型 二. Mysql varchar VS Oracle varchar2 mysql和oracle做数据同…
来自:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它; 行2: IS关键词表明后面将跟随一个PL/SQL体. 行3: BEGIN关键词表明PL…
oracle导出excel(非csv)的方法有两种,1.使用sqlplus  spool,2.使用包体 现将网上相关代码整理后贴出以备不时之需: 使用sqlplus: 使用sqlplus需要两个文件:sql脚本文件和格式设置文件. 去除冗余信息,main.sql --main.sql 注意,需要在sqlplus下运行 非plsql命令行下 set markup html on entmap ON spool on preformat off spool test_tables.xls @get_…
Oracle发邮件,权限问题 - 创建 ACL BEGIN DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(acl => 'email_server_permissions.xml', description => 'Enables network permissions for the e-mail server', principal => 'LJZ', is_grant => TRUE, privilege => 'connect'); END; -…
在oracle使用过程中,我们可以通过pl/sql生成数据文件,也可以通过spool on spool off生成,但某些环境下,我们需要通过存储过程处理数据,数据处理完,需要自动生成数据文件,手工导出生成方式便不适用. 下面我们尝试这样处理,能够满足我们的需求 第一步:发送带附件邮件必须需可以生成附件,检查是系统是否有权限 select * from all_directories 默认系统配置有"DATA_PUMP_DIR",如果没有联系dba创建 create directory…
原文链接:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程  1 CREATE OR REPLACE PROCEDURE 存储过程名  2 IS  3 BEGIN  4 NULL;  5 END; 行1:  CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它;  行2:  IS关键词表明后面将跟随一个PL/SQL体.  行3: …
SQL*Plus: Release 9.2.0.4.0 - Production on Tue Jul 14 18:12:38 2009   Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.   SQL> conn sys/sys as sysdba   Connected.   SQL> show user   USER is "SYS"   SQL> desc dba_users…
抱歉用了这么渣的标题,其实是一个很简单而且很常见的需求:假设我们有一个学生表,它有一个状态字段: create table T_STU ( STU_ID ) not null, NAME ), CODE ), STATE ), START_YEAR ) ); alter table T_STU2 add constraint PK_STU2 primary key (STU_ID); create index IX_STU21 on T_STU2 (STATE); 由一个数字代表学生的各种状态,…
Oracle手边常用命令及操作语句 作者:白宁超 时间:2016年3月4日11:24:08 摘要:日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规操作.另外表的导入导出也很常用,这些脚步命令之前都做有总结,今统一整理出最为常用的语句,使用方便而已. 1 oracle数据安装相关 oracle安装后自动生成sys(默认密码sysdba,最高权限)和system(管理员操作权限)用户 常用操作: 导出dmp: exp userbnc/userbnc@M…
我们可以捕获生产环境的工作量,在测试环境上重放,从而在不影响生产环境的前提下做一些改动测试. 捕获:需要Oracle版本为10.2.0.4或更高. 重放:需要Oracle版本为11g Release 1或更新. 本文环境:RHEL6.4 + Oracle 11.2.0.4 下面介绍一下执行Database Replay的Workflow. 1. 捕获工作量(Workload Capture) 2. 重放工作量(Workload Replay) 3. 分析和报告(Analysis and Repo…
1.了解段收缩 2.自动执行Segment Advisor 3.收缩段 1. 了解段收缩 应用场景:如果对一张表频繁执行插入.更新和删除操作,时间长了可能会出现大量碎片,Oracle针对这种场景推出段收缩功能,以便减少碎片. Oracle的段收缩执行两项不同的任务:(1)压缩数据行,(2)移动高水位线(HWM). 因为重新定位HWM可能阻塞用户的DML操作,而存粹的收缩操作则不会产生这种影响. 操作期间会维护表上的所有索引. 2. 自动执行Segment Advisor 2.1 在OEM查看并设…
外部表介绍 ORACLE外部表用来存取数据库以外的文本文件(Text File)或ORACLE专属格式文件.因此,建立外部表时不会产生段.区.数据块等存储结构,只有与表相关的定义放在数据字典中.外部表,顾名思义,存储在数据库外面的表.当存取时才能从ORACLE专属格式文件中取得数据,外部表仅供查询,不能对外部表的内容进行修改(INSERT.UPDATE.DELETE操作).不能对外部表建立索引.因为创建索引就意味着要存在对应的索引记录.而外部表其实在没有存储在数据库中.故在外部是无法建立索引的.…
告警日志介绍 告警日志文件是一类特殊的跟踪文件(trace file).告警日志文件命名一般为alert_<SID>.log,其中SID为ORACLE数据库实例名称.数据库告警日志是按时间顺序记录message和错误信息.   告警日志位置 在ORACLE 10g中,BACKGROUND_DUMP_DEST参数确定了告警日志的位置,但是告警日志的文件名无法修改,告警日志的名称为:alert_<SID>.log ,其中<SID>是实例的名称.BACKGROUND_DUMP…
Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它; 行2: IS关键词表明后面将跟随一个PL/SQL体. 行3: BEGIN关键词表明PL/SQL体的开始. 行4: NULL PL/SQL语句表明什么事都不做,这句不能删…
存储过程定义,举个例子如下: create or replace procedure test_person(id in Number, Ename In Varchar2, age In Varchar2, TCS out mytype) Is --TCS为输出游标 IS 为关键字 V_ename ); --临时参数 v_age NUMBER;--临时参数 V_Sql ); tcs1 mytype; begin V_Sql:='';--自定义sql语句 Open tcs1 for V_Sql;…