oracle如何修改字段类型(oracle总体知识2)
在一次做开发的时候,遇到需要将数据表的字段类型由number改成varchar,可是该字段又有值,
用 alter table t-name modify cname newType;会报错。
话说,当时在网上没找到合适的解决办法,很苦恼!
今天在博客园看到解决这个问题的办法,很nice,分享!
当要修改的字段有值的时候,不能更改字段类型:
两种解决办法:
1、 > 新增一列,列类型与要修改的新类型一致;
>将旧列的值赋给新列(需强制类型转换);
> update tname set cname_new=cast(cname_old as 新类型)
>删除旧列。
这种办法,改变了列在表里面的位置。
2、 >新增一列,列类型与旧列相同;
>将旧列的值赋给新列,旧列的值变为null;
update tname set cname_new =cname_old;
> 更改旧列的字段类型(此时为null,可以修改)
alter table tname modify cname_old newType;
> 将新列的值赋给旧列;
update tname set cname_old=cname_new;
>删除新列。
相关sql语句:
查看oracle版本:select * from v$version;
更新字段名:alter table 表名 rename column 旧列名 to 新列名;
新增字段: alter table 表名 add 列名 列类型;
新增字段并赋值: alter table 表名 add 列名 列类型 default 默认值;
删除字段: alter table 表名 drop column 列名;
修改字段值:update 表名 set 列名=value where ...
修改字段类型: alter table 表名 modify 列名 类型;
参考:http://www.cnblogs.com/david-zhang-index/archive/2012/04/10/2441015.html
oracle如何修改字段类型(oracle总体知识2)的更多相关文章
- Oracle/SQL 修改字段类型和长度
标准SQL修改字段类型和长度语句: ALTER TABLE tableName modify column columnName 类型;例如Mysql的修改字段类型语句:alter table tes ...
- Oracle怎么修改字段类型
转载:https://www.2cto.com/database/201710/689523.html 有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管 ...
- Oracle修改字段类型和长度
Oracle修改字段名 alter table 表名 rename column 旧字段名 to 新字段名 Oracle修改字段类型和长度 alter table 表名 modify 字段名 数据类型 ...
- Oracle基本操作,Oracle修改列名,Oracle修改字段类型
oracle基本操作,Oracle修改列名,Oracle修改字段类型 >>>>>>>>>>>>>>>>& ...
- oracle修改字段类型由varchar2修改为clob类型
oracle修改字段类型由varchar2修改为clob类型 http://blog.sina.com.cn/s/blog_9d12d07f0102vxis.html
- Oracle使用SQL语句修改字段类型
Oracle使用SQL语句修改字段类型 1.如果表中没有数据 Sql代码 1 2 3 alter table 表名 modify (字段名1 类型,字段名2 类型,字段名3 类型.....) alt ...
- Oracle创建表、修改字段类型
1.创建表 1.创建表 create table SCM_PER( --SCM_PER表名 ID ) primary key,--主键ID USERID ),--用户ID --Permission v ...
- Oracle 批量修改字段长度
Oracle 批量修改字段长度 SELECT 'alter table '||a.table_name||' MODIFY '||A.COLUMN_NAME||' VARCHAR2(100);' ...
- ORACLE常用数据库字段类型
ORACLE常用数据库字段类型 常用的数据库字段类型如下: 字段类型 中文说明 限制条件 其它说明 CHAR 固定长度字符串 最大长度2000 bytes VARCHAR2 可变长度 ...
随机推荐
- SQL学习之联结表的使用
1.简介:"联结(join)表"是SQL最强大的功能之一.联结是利用SQL的SELECT能执行的最重要的操作,很好地理解联结及其语法是学习SQL的极为重要的部分! 在能够有效的使用 ...
- Nutch安装的几个网址
RunNutchInEclipse - Nutch Wiki http://wiki.apache.org/nutch/RunNutchInEclipse Index of /apache/nut ...
- iOS隐藏tabBar的方法
两种方法用来隐藏tabBar 1.在本页面隐藏 #pragma mark - 隐藏tabBar - (void)viewWillAppear:(BOOL)animated{ self.tabBarCo ...
- 2016-09-07 J2EE基础知识之JSP_部分
1.JSP(Java Server Pages) java服务器页面,其根本是一个简化的Servlet设计.JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.h ...
- Clamp函数
Clamp函数可以将随机变化的数值限制在一个给定的区间[min, max]内: template<class T> T Clamp(T x, T min, T max) { if (x & ...
- Spring jdbcTemplate + EasyUI 物理分页
前文说到,新项目中,用到的是SpringMVC + jdbcTemplate,前台是EasyUI,发现同事以前封装分页是逻辑分页,于是,自己动手封装了下物理分页. 这个是核心分页实体: import ...
- JSP数据交互——九大内置对象及其方法详解(一)
①既然说到JSP内置对象,那么什么是JSP内置对象呢? 解析:JSP内置对象,就是在编写JSP页面时,不需要做任何声明就可以直接使用的对象. 如下代码片段: <% int[] value ...
- js点击事件代理时切换图片如何防抖动
由于图片的加载速度比较慢,我们可以直接用64base对图片进行编码,把编码加在图片的url中~~~这样加载会快一些,也不会有切换图片时出现的抖动效果
- 本地环境下 WordPress 环境搭建与安装
本地环境:Ubuntu 14.04 使用软件: WordPress 4.1.1 中文优化版 EasyEngine 安装步骤: 安装 LNMP 环境; wget -qO ee rt.cx/ee & ...
- Linux 下修改Tomcat使用的JVM内存大小
我的服务器的配置: # OS specific support. $var _must_ be set to either true or false. JAVA_OPTS="-Xms10 ...