【修改有数据oracle字段类型 从number转为varchar】教程文章相关的互联网学习教程文章

修改有数据oracle字段类型 从number转为varchar【图】

--修改有数据oracle字段类型 从number转为varchar--例:修改ta_sp_org_invoice表中RESCUE_PHONE字段类型,从number转为varchar--step1:增加一个原类型缓冲区字段alter table ta_sp_org_invoice add permile_temp number;--step2:将要修改的字段的值存入缓冲区,同事将要修改的字段制空update ta_sp_org_invoice set permile_temp=RESCUE_PHONE,RESCUE_PHONE=null;--step3:修改字段类型alter table ta_sp_org_invoice modify RES...

oracle中的数据类型:varchar2(2)中所带参数的

varchar2(byte) 存储的是字节。varchar2(char) 存储的是字符。 varchar2(2 byte) 最多可以存储2个字节,varchar2(2 char) 最多可以存储2个字符。 当数据库字符集分别:1.为 AL32UTF8 时,1个汉字是1个字符,1个汉字占3个字节,varchar2(2 byte) 一个汉字也不能存,varchar2(2 char) 能存2个汉字。2.为 ZHS16GBK时,1个汉字是1个字符,1个汉字占2个字节,varchar2(2 byte) 能存1个汉字,varchar2(2 char) 能存2个汉字。 默认情况下,...

Oracle中NVARCHAR2与VARCHAR2的差别

NVARCHAR2在计算长度时和字符集相关的:比如数据库是中文字符集时以长度10为例,1、NVARCHAR2(10)是能够存进去10个汉字的。假设用来存英文也仅仅能存10个字符。2、而VARCHAR2(10)的话,则仅仅能存进5个汉字,英文则能够存10个。注:二者字节上线都是4000。注意大小设置不要溢出。原文:http://www.cnblogs.com/lcchuguo/p/5195004.html

oracle数据库之varchar2

oracle数据库相信大家都比较熟悉,数据库中有一种非常常用的数据类型:字符串型。 对应该类型,在oracle中有三种比较常用的类型:varchar2(byte)、varchar2(char)、nvarchar2()。 那么这三种类型到底有什么区别呢? 首先,我们要时刻记清:无论是varchar2还是nvarchar2,最大字节数都是4000。 varchar2(byte):就是默认的表示方式,比如我们写成:varchar2(100),就相当于varchar2(100 byte),表示...

Oracle varchar2或char类型的byte和char的区别

Oracle定义字符串类型VARCHAR2和CHAR指定长度的用法如下:varchar2(<SIZE> <BYTE|CHAR>) <SIZE>是介于1~4000之间的一个数,表示最多占用4000字节的存储空间。char(<SIZE> <BYTE|CHAR>) <SIZE>是介于1~2000之间的一个数,表示最多占用2000字节的存储空间。那其中的BYTE和CHAR有什么区别呢BYTE,用字节指定:VARCHAR2(10 BYTE)。这能支持最多10字节的数据,在一个多字节字符集中,这可能只是两个字符。采用多字节字符集时,字节与字符...

oracle将blob转为varchar2【代码】【图】

因为varchar2最大长度为4000,所以不能直接将blob转为varchar2,这里通过函数将blob返回为table格式来实现:1、创建两个新的type,用于函数返回create or replace type obj_table as object (name varchar2(2000) );create or replace type t_table is table of obj_table 2、创建blob转varchar2的函数CREATE OR REPLACE Function Blob_To_Varchar (id In VARCHAR2) Return t_table asrs t_table:= t_table();-- 定义上面创建的类型...

ORACLE-012:oracle中纯数字的varchar2类型和number类型自动转换【代码】

使用过一个关联查询,两个表的字段定义了不同的类型。一个字段是varchar2类型,另一个字段是number类型,内容如下:‘00187‘和187。在使用中发现会自动将varchar2类型转换为number,即187和187。效果与to_number()一样。专门写了两个sql测试了下,如下:select case when ‘0110‘ = 110 then‘true‘ else‘false‘endfrom dual; select case when to_number(‘0110‘) = to_number(110) then‘true‘ else‘false‘endfrom du...

oracle中往varchar2格式的字段中插入date时间格式的值会发生什么?

--建立表test1 create table TEST1 ( ID VARCHAR2(40) default sys_guid(), TDATE VARCHAR2(200) ) tablespace APP_TX_DATA pctfree 10 pctused 40 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited ); --插入date时间格式数据 insert into test1 values(sys_guid(),sysdate+10);、 --查询数据 select * from test1 -- tdate值为 01-7月 -15 --Q:如何将现有数...

Oracle中varchar,varchar2,nvarchar,nvarchar2的区别及其它数据类型描述

联系: 1.varchar/varchar2用于存储可变长度的字符串 比如varchar(20),存入字符串‘abc‘,则数据库中该字段只占3个字节,而不是20个字节 2.size 的最大值是 4000,而最小值是 1,其值表示字节数,比如 varchar(20)表示最大可以存放20个字节的内容 区别: 1.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节; 2.VARCHAR2把空串等同于null处理,而varchar仍...

oracle中varchar、varchar2、char和nvarchar的区别

1.char char的长度是固定的,比如说,你定义了char(20),即使你你插入abc,不足二十个字节,数据库也会在abc后面自动加上17个空格,以补足二十个字节; char是区分中英文的,中文在char中占两个字节,而英文占一个,所以char(20)你只能存20个字母或10个汉字。 char适用于长度比较固定的,一般不含中文的情况 2.varchar/varchar2 varchar是长度不固定的,比如说,你定义了varchar(20),当你插入abc,则在数据库中只占3个字节。 var...

Oracle 12C -- 扩展varchar2、nvarchar2、和raw数据类型的大小限制【代码】

------------------------------------ ----------- ------------------------------ max_string_size string STANDARD SQL> 开启"扩展数据类型"功能:SQL> alter system set max_string_size=extended scope=both; alter system set max_string_size=extended scope=both * ERROR at line 1: ORA-02097: parameter cannot be modified because specified value is invalid ORA-14694: database must i...

oracle转Mysql中,varchar2(10)和number应该转换为什么类型? (转)

一. 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做数据同步。其中表的一个字段在mysql中设置为varchar(6),Oracle中为va...

Oracle varchar2最大支持长度(转)【代码】

如果执行oerr ora 06502命令,没有提及详细原因(Cause)以及解决方法(Action)。这个估计是出现这类错误的场景太多了的缘故。 $ oerr ora 06502 06502, 00000, "PL/SQL: numeric or value error%s" // *Cause: // *Action: 在官方文档http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/datatypes.htm,我看到了关于ORA-06502的错误的一些出现场景。非常有意思。有兴趣的最好直接阅读源文档。 1: 赋值或插入超过长度的值。 ...

交叉报表列头排序时遇到的oracle问题—oracle ORA-12704:字符集不匹配、varchar2转化为nvarchar2字符缺失、case when else后的字符类型要一致【图】

在做交叉报表列头的排序时,遇到这三个问题,下面具体来说一下。 设计的数据库的表结构如图1所示:图1 要处出来student_name_,s.grade_,s.subject_name_,这三个属性,当时我是这样写的sql语句: select s.student_name_, s.grade_, s.subject_name_, case s.subject_name_ when ‘语文‘ then ‘A语文‘ when ‘数学‘ then ‘B数学‘ when ‘英语‘ then ‘C英语‘ else s.subject_name_ end from student s 执行之后...

Oracle 中varchar 、 varchar2 、nvarchar2 有什么区别?

如果oracle的字符编码采用GBK,那么一个汉字占两个字节,可如果使用的是UTF-8那么一个汉字占三个字节。大部分情况下使用varchar2类型,可以保证更好的兼容性。 GBK字符集下:varchar2(10)可以存5个中文,可以存10个英文。但是使用length函数获取长度实际上获取的是字符的个数,即:存5个中文的长度为5 , 10个英文的长度为10 。 nvarchar2(10)最多可一存10个中文,最多也只能存10个英文,字符长度也是字符个数,即无论是中文还...