有一个表名为tb,字段段名为request_id,数据类型int 更改为VARCHAR2(64)。

1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:
alter table tb modify (request_id varchar2(64));

2、假设字段没有数据,则改为varchar2(20)可以直接执行:
alter table tb modify (request_id varchar2(64));

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

/修改原字段名request_id为request_id_tmp/
alter table tb rename column request_id to request_id_tmp;

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

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

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

总结:
1、当字段没有数据或者要修改的新类型和原类型兼容时,可以直接modify修改。
2、当字段有数据并用要修改的新类型和原类型不兼容时,要间接新建字段来转移。

修改字段长度
alter table 表名 modify 列名 数据类型;

oracle更改字段类型 有数据无数据的时候,修改字段长度,增加字段相关推荐

  1. 创建shap文件的属性字段类型区别_在ArcGIS中为Shapefile属性表增加字段

    摘要: 属性描述了要素的相关特性,并存储于表中.在创建新的属性表或是向已有的属性表中增加字段的时候,必须指明数据类型和字段属性,比如精度(Precision)或长度(Length).数据类型的选择和相 ...

  2. Spark SQL读取Oracle的number类型的数据时精度丢失问题

    Spark SQL读取Oracle的number类型的数据时精度丢失问题 在程序开发中,使用到了sparkSQL读取Oracle数据库,发现当sparkSQL读取Oracle的number类型字段时, ...

  3. 字段类型 sqoop_数据迁移工具Sqoop

    熬过去,出众. 熬不过,出局. 这是最真实的人生,人都是熬过来的. Sqoop 是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,它是Hadoop环境下连接关系数据库与Hadoop存储系统 ...

  4. 数据库表(字段类型、约束、截断表、修改表字段、重命名表)

    字段类型: 在这里只列举一些常用的字段类型: 整数类型:int(Integer):普通大小的整数 小数类型: float(m,d):单精度浮点数,m表示数字长度,d表示小数位数,例如float(5,2 ...

  5. mysql数据量大增加字段_MySQL 8.0.19亿级数据如何秒速增加字段?

    概述 今天主要介绍一下MySQL 8.0.19 instant add column的新特性,基于亿级数据秒速增加字段,下面一起来看看吧~ 一.MySQL DDL 的方法 MySQL 在大型表上的 D ...

  6. 批量替换sqlserver数据库TEXT字段类型的数据

    在申请百度推广账户的时候,百度需要审查旅游网站不能含有机票两个字,所以需要在旅游线路中批量替换掉机票2个字. 替换示例如下:   --创建数据测试环境 create table #tb(L_TEXT ...

  7. oracle 中将number类型的数据转化成指定格式的小数

    select to_char(0.1,'0.09') nums from dual;

  8. 可以储存照片的字段类型是_在数据库中可用来存储图片的字段对象是哪种类型的字段?...

    展开全部 一. 把图片直接以二进制形式存储在数据库中 一般数据库提供一个e68a84e8a2ad3231313335323631343130323136353331333365633838二进制字段来 ...

  9. oracle的insert语句clob,.Net 操作 Oracle CLOB类型字段 INSERT 超长数据

    如果仅仅在数据库中设置了类型为 CLOB 字段类型,使用普通的 INSERT 语句直接写入数据到数据库的话,它依然会将其视为 VARCHAR 类型数据,并最大长度为 4000 字符.超过该长度会报出字 ...

最新文章

  1. C/C++中inline/static inline/extern inline的区别及使用
  2. Android客户端捕获http请求包的方法
  3. mxnet常规优化器用法
  4. Linux线程(二)
  5. redis key存在则删除_Redis加锁的几种实现
  6. Java方法中的参数太多,第3部分:构建器模式
  7. linux18.2安装界面,Ubuntu 18.10下安装Grub Customizer 5.1.0配置grub2图形化界面
  8. pythonopencv目标检测_Python 使用Opencv实现目标检测与识别的示例代码
  9. Python入门-try-except-else-finally
  10. 如何对 ABAP 数据库表通过 ABAP 代码进行更新和删除操作试读版
  11. 如何使用易媒助手对文章进行原创检测
  12. 读书笔记:在改变的时代改变自己
  13. 安卓RecyclerView万能分割线
  14. Android Minui 相关API说明
  15. NPOI操作Excel 让单元格的内容换行
  16. c语言报告对老师的致谢,论文对老师的致谢
  17. ubuntu18.04安装时ACPI error 无法进入系统的问题
  18. 【JS】JavaScript
  19. 使用JavaScript动态添加HTML语句后,事件失效的解决办法
  20. appium 多个APP进行切换测试

热门文章

  1. java使用poi给word添加多个水印
  2. 电路理论基础——孙立山、陈希有
  3. 虚拟机安装夜神模拟器
  4. Valine Admin修改版教程
  5. Nacos集群启动后,微服务无法注册
  6. 微信分享 电脑端正常,手机端不行
  7. 计算机专业去西部计划做什么,计算机科学学院召开大学生志愿服务西部计划志愿者招募工作动员会...
  8. javascript算法排序之冒泡排序
  9. Android瀑布流照片墙、滑动切换图片
  10. Confluent Platform: Control Center UI 用户验证(BASIC)