精华内容
下载资源
问答
  • oracle数据库修改字段类型
    2018-10-12 15:25:50

    /*修改原字段名name为name_tmp*/
    alter table tb rename column name to name_tmp;

    /*增加一个和原字段名同名的字段name*/
    alter table tb add name varchar2(40);

    /*将原字段name_tmp数据更新到增加的字段name*/
    update tb set name=trim(name_tmp);

    /*更新完,删除原字段name_tmp*/
    alter table tb drop column name_tmp;

    更多相关内容
  • oracle数据库如何修改字段的数据类型以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!1、首先打开plsql,连接上oracle数据库,假设有一张数据库表叫做 ...

    oracle数据库如何修改字段的数据类型以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

    96236717d38201fa4e508f2673f8b35b.png

    1、首先打开plsql,连接上oracle数据库,假设有一张数据库表叫做 tblTest,通过sql查询也可以看出,这里面是有测试数据的。

    2、oracle数据库添加列,比如,往测试表 tblTest 添加一个 日期类型的列 UpdateDate,sql语句就可以像下面这样实现,写完SQL之后,选中这一行sql,点击plsql左上角次轮状的图标执行sql语句:alter table TBLTEST add UpdateDate date;

    3、执行成功之后,通过 select * from TBLTEST ,就能看到新添加的列默认都是空值。

    4、oracle数据库删除列,比如,将上一步添加的 UpdateDate 列删除掉,就可以使用下面的sql语句修改表:alter table tbltest drop column updatedate;

    5、执行成功后,再次使用 select * from TBLTEST ,就能看到 UpdateDate 列已经删除了。

    6、oracle数据库修改列属性,比如,将测试表 tblTest 中 INTEGER 类型的 ITEMNUM 列修改为 number 类型,就可以使用下面的SQL语句:alter table tbltest modify ITEMNUM number;

    7、在左侧 tbltest 表名上,点击鼠标右键,选择【Edit】选项,

    8、然后在右侧出现的窗口中,点击【Columns】标签页,就能看到ITEMNUM已经从 INTEGER 改为 number 类型了。

    分页:123

    展开全文
  • Oracle数据库字段类型

    千次阅读 2021-05-08 18:02:12
    总结 以上是编程之家为你收集整理的Oracle数据库字段类型全部内容,希望文章能够帮你解决Oracle数据库字段类型所遇到的程序开发问题。 如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。 ...

    字 段 类 型

    CHAR 固定长度字符串 最大长度2000 bytes

    VARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749

    NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes

    NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytes

    DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS) 经过严格测试,无千虫问题

    LONG 超长字符串 最大长度2G(231-1) 足够存储大部头著作

    RAW 固定长度的二进制数据 最大长度2000 bytes 可存放多媒体图象声音等

    LONG RAW 可变长度的二进制数据 最大长度2G 同上

    BLOB 二进制数据 最大长度4G

    CLOB 字符数据 最大长度4G

    NCLOB 根据字符集而定的字符数据 最大长度4G

    BFILE 存放在数据库外的二进制数据 最大长度4G

    ROWID 数据表中记录的唯一行号 10 bytes ********.****.****格式,*为0或1

    NROWID 二进制数据表中记录的唯一行号 最大长度4000 bytes

    NUMBER(P,S) 数字类型 P为整数位,S为小数位

    DECIMAL(P,sans-serif; line-height:23.4px"> INTEGER 整数类型 小的整数

    FLOAT 浮点数类型 NUMBER(38),双精度

    REAL 实数类型 NUMBER(63),精度更高

    ===========================================

    分割线,下面为某些标记的详细记录。

    数据类型 参数 描述

    char(n) n=1 to 2000字节 定长字符串,n字节长,如果不指定长度,缺省为1个字节长(一个汉字为2字节)

    varchar2(n) n=1 to 4000字节 可变长的字符串,具体定义时指明最大长度n,

    这种数据类型可以放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的字符集标准)中的所有符号。

    如果数据长度没有达到最大值n,Oracle 8i会根据数据大小自动调节字段长度,

    如果你的数据前后有空格,Oracle 8i会自动将其删去。VARCHAR2是最常用的数据类型。

    可做索引的最大长度3209。

    number(m,n) m=1 to 38

    n=-84 to 127 可变长的数值列,允许0、正值及负值,m是所有有效数字的位数,n是小数点以后的位数。

    如:number(5,2),则这个字段的最大值是99,999,如果数值超出了位数限制就会被截取多余的位数。

    如:number(3,0),输入575.316,真正保存的数据是575。

    date 无 从公元前4712年1月1日到公元4712年12月31日的所有合法日期,

    Oracle 8i其实在内部是按7个字节来保存日期数据,在定义中还包括小时、分、秒。

    缺省格式为DD-MON-YY,如07-11月-00 表示2000年11月7日。

    long 无 可变长字符列,最大长度限制是2GB,用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。

    long是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。

    raw(n) n=1 to 2000 可变长二进制数据,在具体定义字段的时候必须指明最大长度n,Oracle 8i用这种格式来保存较小的图形文件或带格式的文本文件,如Miceosoft Word文档。

    raw是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。

    long raw 无 可变长二进制数据,最大长度是2GB。Oracle 8i用这种格式来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件。

    在同一张表中不能同时有long类型和long raw类型,long raw也是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。

    blob,clob,nclob 无 三种大型对象(LOB),用来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件,最大长度是4GB。

    LOB有几种类型,取决于你使用的字节的类型,Oracle 8i实实在在地将这些数据存储在数据库内部保存。

    可以执行读取、存储、写入等特殊操作。

    bfile 无 在数据库外部保存的大型二进制对象文件,最大长度是4GB。

    这种外部的LOB类型,通过数据库记录变化情况,但是数据的具体保存是在数据库外部进行的。

    Oracle 8i可以读取、查询BFILE,但是不能写入。

    大小由操作系统决定。

    数据类型是列或存储过程中的一个属性。

    Oracle支持的数据类型可以分为三个基本种类:字符数据类型、数字数据类型以及表示其它数据的数据类型。

    字符数据类型

    CHAR char数据类型存储固定长度的字符值。一个CHAR数据类型可以包括1到2000个字符。如果对CHAR没有明确地说明长度,它的默认长度则设置为1。如果对某个CHAR类型变量赋值,其长度小于规定的长度,那么Oracle自动用空格填充。

    VARCHAR2 存储可变长度的字符串。虽然也必须指定一个VARCHAR2数据变量的长度,但是这个长度是指对该变量赋值的最大长度而非实际赋值长度。不需用空格填充。最多可设置为4000个字符。因为VARCHAR2数据类型只存储为该列所赋的字符(不加空格),所以VARCHAR2需要的存储空间比CHAR数据类型要小。

    Oracle推荐使用VARCHAR2

    NCHAR和NVARCHAR2 NCHAR和NVARCHAR2数据类型分别存储固定长度与可变长度的字符串,但是它们使用的是和数据库其他类型不同的字符集。在创建数据库时,需要指定所使用的字符集,以便对数据中数据进行编码。还可以指定一个辅助的字符集[即本地语言集]。NCHAR和NVARCHAR2类型的列使用辅助字符集。NCHAR和NVARCHAR2类型的列使用辅助字符集。

    在Oracle 9i中,可以以字符而不是字节为单位表示NCHAR和NVARCHAR2列的长度。

    LONG long数据类型可以存放2GB的字符数据,它是从早期版本中继承下来的。现在如果存储大容量的数据,Oracle推荐使用CLOB和NCLOB数据类型。在表和sql语句中使用LONG类型有许多限制。

    CLOB和NCLOB CLOB和NCLOB数据类型可以存储多达4GB的字符数据。NCLOB数据类型可存储NLS数据。

    数字数据类型

    Oracle使用标准、可变长度的内部格式来存储数字。这个内部格式精度可以高达38位。

    NUMBER数据类型可以有两个限定符,如:column NUMBER(precision,scale)。precision表示数字中的有效位。如果没有指定precision的话,Oracle将使用38作为精度。scale表示小数点右边的位数,scale默认设置为0。如果把scale设成负数,Oracle将把该数字取舍到小数点左边的指定位数。

    日期数据类型

    Oracle标准日期格式为:DD-MON-YY HH:MI:SS

    通过修改实例的参数NLS_DATE_FORMAT,可以改变实例中插入日期的格式。在一个会话期间,可以通过Alter session sql命令来修改日期,或者通过使用sql语句的TO_DATE表达式中的参数来更新一个特定值。

    其它的数据类型

    RAW和LONG RAW RAW和LONG RAW数据类型主要用于对数据库进行解释。指定这两种类型时,Oracle以位的形式来存储数据。RAW数据类型一般用于存储有特定格式的对象,如位图。RAW数据类型可占用2KB的空间,而LONG RAW数据类型则可以占用2GB大小。

    ROWID ROWID是一种特殊的列类型,称之为伪列(pseudocolumn)。ROWID伪列在sql SELECT语句中可以像普通列那样被访问。Oracle数据库中每行都有一个伪列。ROWID表示行的地址,ROWID伪列用ROWID数据类型定义。

    ROWID与磁盘驱动的特定位置有关,因此,ROWID是获得行的最快方法。但是,行的ROWID会随着卸载和重载数据库而发生变化,因此建议不要在事务中使用ROWID伪列的值。例如,一旦当前应用已经使用完记录,就没有理由保存行的ROWID。不能通过任何sql语句来设置标准的ROWID伪列的值。

    列或变量可以定义成ROWID数据类型,但是Oracle不能保证该列或变量的值是一个有效的ROWID。

    LOB(大型对象)数据类型,可以保存4GB的信息。LOB有以下3中类型:

    ,只能存储字符数据

    ,保存本地语言字符集数据

    ,以二进制信息保存数据

    可以指定将一个LOB数据保存在Oracle数据库内,还是指向一个包含次数据的外部文件。

    LOB可以参与事务。管理LOB中的数据必须通过DBMS_LOB PL/sql内置软件包或者OGI接口。

    为了便于将LONG数据类型转换成LOB,Oracle 9i包含许多同时支持LOB和LONG的函数,喊包括一个ALTER TABLE语句的新选择,它允许将LONG数据类型自动转换成LOB。

    BFILE

    BFILE数据类型用做指向存储在Oracle数据库以外的文件的指针。

    XML Type

    作为对XML支持的一部分,Oracle 9i包含了一个新的数据类型XML Type。定义为XMLType的列将存储一个字符LOB列中的XML文档。有许多内置的功能可以使你从文档中抽取单个节点,还可以在XML Type文档中对任何节点创建索引。

    从Oracle 8以后,用户可以定义自己的复杂数据类型,它们由Oracle基本数据类型组合而成。

    AnyType、AnyData和AnyDataSet

    Oracle包括3个新的数据类型,用于定义在现有数据类型之外的数据结构。其中每种数据类型必须用程序单元来定义,以便让Oracle9i知道如何处理这些类型的特定实现。

    类型转换

    Oracle会自动将某些数据类型转换成其他的数据类型,转换取决于包括该值的sql语句。

    数据转换还可以通过Oracle的类型转换函数显示地进行。

    连接与比较

    在大多数平台上Oracle sql中的连接操作符用两条竖线(||)表示。连接是将两个字符值连接。Oracle的自动类型转换功能使得两个数字值也可以进行连接。

    NULL

    NULL值是关系数据库的重要特征之一。实际上,NULL不代表任何值,它表示没有值。如果要创建表的一个列,而这个列必须有值,那么应将它指定为NOT NULL,这表示该列不能包含NULL值。

    任何数据类型都可以赋予NULL值。NULL值引入了sql运算的三态逻辑。如果比较的一方是NULL值,那么会出现3种状态:TURE、FALSE以及两者都不是。

    因为NULL值不等于0或其他任何值,所以测试某个数据是否为NULL值只能通过关系运算符IS NULL来进行。

    NULL值特别适合以下情况:当一个列还未赋值时。如果选择不使用NULL值,那么必须对行的所有列都要赋值。这实际上也取消了某列不需要值的可能性,同时对它赋的值也很容易产生误解。这种情况则可能误导终端用户,并且导致累计操作的错误结果。

    总结

    以上是编程之家为你收集整理的Oracle数据库的字段类型全部内容,希望文章能够帮你解决Oracle数据库的字段类型所遇到的程序开发问题。

    如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

    展开全文
  • Oracle修改字段类型

    2021-05-04 05:49:24
    Oracle修改字段类型方法总结2014-04-15 15:24 86913人阅读 评论(6) 收藏 举报分类: Oracle(14)版权声明:本文为博主原创文章,未经博主允许不得转载。有一个表名为tb,字段段名为name,数据类型nchar(20)。1、假设...

    Oracle修改字段类型方法总结

    2014-04-15 15:24 86913人阅读 评论(6) 收藏 举报

    分类: Oracle(14)

    版权声明:本文为博主原创文章,未经博主允许不得转载。

    有一个表名为tb,字段段名为name,数据类型nchar(20)。

    1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:

    alter table tb modify (name nvarchar2(20));

    2、假设字段有数据,则改为nvarchar2(20)可以直接执行:

    alter table tb modify (name nvarchar2(20));

    3、假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时要用下面方法来解决这个问题:

    /修改原字段名name为name_tmp/

    alter table tb rename column name to name_tmp;

    /增加一个和原字段名同名的字段name/

    alter table tb add name varchar2(40);

    /将原字段name_tmp数据更新到增加的字段name/

    update tb set name=trim(name_tmp);

    /更新完,删除原字段name_tmp/

    alter table tb drop column name_tmp;

    总结:

    1、当字段没有数据或者要修改的新类型和原类型兼容时,可以直接modify修改。

    2、当字段有数据并用要修改的新类型和原类型不兼容时,要间接新建字段来转移。

    展开全文
  • 主要给大家介绍了关于Oracle数据库表中字段顺序的修改方法,在介绍修改的方法之前先给大家介绍了Oracle数据库表新建字段的方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习...
  • oracle 修改字段类型
  • Oracle 数据库修改字段大小写 数据库建表的时候,表字段搞成小写字母,引发BO文件和数据库字段无法映射的问题 如果Leader需要让字段命名为大写,则进行如下修改: alter table tablename rename column "table_...
  • @Oracle数据库修改字段属性 Oracle数据库修改字段属性 alter table tb rename column name to name_t; 将需要修改的字段名称修改为其他名称 alter table tb add name varchar2(50); 新增一个同名的字段 update tb ...
  • 数据库技巧-批量修改ORACLE数据库字段类型 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:12951803 使用工具: Navicat 11.2.7 1.新建过程函数 2.输入过程函数代码 这里的示例...
  • ORA-01438: value larger than specified ...解决方法:更改字段的长度解决 您可能感兴趣的文章:Oracle+Mybatis的foreach insert批量插入报错的快速解决办法win x64下安装oracle 12c出现INS-30131报错的解决方法Or
  • 最近学习了Oracle修改字段类型方法,留做记录。 有一个表名为tb,字段段名为name,数据类型nchar(20)。 1、假设字段数据为空,则不管改为什么字段类型,可以直接执行: alter table tb modify (name nvarchar2(20...
  • 字段类型 中文说明 限制条件 其它说明VARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytesNVARCHAR2 根据字符集而定的可变长度字符串 ...
  • Oracle数据库修改字段类型

    千次阅读 2017-12-15 14:10:41
    数据库中某表字段为number类型,需要修改成varchar类型
  • # 将当前字段重命名 alter table test rename column finish_datetime to finish_datetime_temp; alter table test add finish_datetime Date; update test set finish_datetime=TO_DATE(finish_datetime_temp,'...
  • Oracle数据库处理提示ORA-01704字符串文字太长。
  • Oracle数据库修改字段的长度

    千次阅读 2021-08-12 16:36:31
    alter table 表名 modify 列名 新的类型字段长度 如:alter table table01 modify F1 varchar2(4000)
  • Oracle表中已有数据修改字段类型

    千次阅读 2022-05-11 15:46:11
    Oracle的表中已存在了数据,这时再来修改表的字段类型就无法修改。例如, number类型改成number(22),这时数据库会报ORA-01440: column to be modified must be empty to decrease precision or scale 方法1 备份原...
  • oracle更改有数据字段类型

    千次阅读 2022-04-25 09:23:49
    /** ORACLE更改字段类型 **/ -- 1.表的原字段重命名 ALTER TABLE BDGH_INST.BZ_GHSJYQ RENAME JZGDSX TO JZGDSX_TEMP; ALTER TABLE BDGH_INST.BZ_GHSJYQ RENAME JZGDXX TO JZGDXX_TEMP; -- 2.添加新字段,字段名与...
  • Oracle数据库中,表中已存在数据字段修改字段的长度,如有疑问可沟通联系,当积分自动提升到很高的时候欢迎联系,会把积分调低。
  • 以下的文章主要是就介绍Oracle使用SQL语句如何修改字段类型的实际操作,本文是以假设相关表中没有数据的方式来引出Oracle使用SQL语句修改字段类型的相关操作,以下就是具体方案的描述。如果表中没有数据:直接这样就...
  • 关于Oracle如何修改字段类型

    千次阅读 2020-08-05 19:10:40
    1、假设字段数据为空,则不管改为什么字段类型,可以直接执行: alter table ttrd_strategy modify (author_user_id varchar2(20)); 2、假设字段有数据,则改为varchar2(100)执行时会弹出:“ORA-01439:要更改...
  • 故事剧情: 公司某产品收下位系统商抛出来的SOAP消息,做完业务逻辑处理将完整的XML消息报文写入...之前一直正常,最近突然发现系统频频报错,大致提示内容Oracle写入数据库错误,字段长度7000+,超过4000 闪烁时 ...
  • ORACLE数据库字段类型说明

    万次阅读 2018-04-03 17:08:36
    ORACLE数据库字段类型说明 目前Oracle 数据库大概有26个字段类型,大体分为六类,分别是字符串类型、数字数据类型、日期时间数据类型、大型对象(LOB)数据类型、RAW和LONG RAW数据类型、ROWID和UROWID数据...
  • 如果直接修改字段类型为NUMBER(22,8),会提示 在行: 4 上开始执行命令时出错 - alter table ar_gatheritem modify NOUTPUTVALUEMNY NUMBER(22,8) 错误报告 - ORA-01440: 要减小精度或标度, 则要修改的列必须为空 ...
  • 先从数据库查出所有NCLOB表和字段名称,然后进行SQL拼接 SELECT * FROM User_Tab_Columns WHERE DATA_TYPE='NCLOB' ORDER BY TABLE_NAME; SELECT * FROM AD_APP_PARAM_copy1 WHERE rownum <=10 --...
  • ORACLE 当字段中有数据如何修改字段类型 **](https://www.cnblogs.com/jianshuai520/p/9749730.html) 问题: 创建视图的时候,因为表太多,里面一些字段类型不一样,PL/SQL报错,为‘表达式必须具有对应表达式相同...
  • 达梦数据库不支持直接从text类型改为int的数据类型; 所以得新建字段,从text复制到varchar类型,再将字段改为 int类型 sql过程,假设现在有表a,字段为a_col,字段...-- 修改字段类型为int alter table a modify a_c

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 160,024
精华内容 64,009
热门标签
关键字:

oracle数据库修改字段类型