Oracle数据库char(7)改为char(36)后,再改为varchar2(36)出现的问题
2016-04-08 14:02
495 查看
案例:
原来表的结构
由于需求的变化,字段长度需要改,实施人员把这个字段改为了CHAR(36),导致现场的项目有很多查询语句也需要改,后来我让实施人员改为
原来表的结构
CREATE TABLE T_MD_DATA_ELEMENT ( ELEMENT_ID CHAR(7) NOT NULL )
由于需求的变化,字段长度需要改,实施人员把这个字段改为了CHAR(36),导致现场的项目有很多查询语句也需要改,后来我让实施人员改为
CREATE TABLE T_MD_DATA_ELEMENT ( ELEMENT_ID VARCHAR2(36) NOT NULL )但结果还是有些模块不能正常使用,之前只知道从从CHAR(7)改为CHAR(36)后,原来的数据都变成了36位的字符串,不够36的话会以空格来补全。然后改为VARCHAR2(36)后,表里面的数据还是以空格补全的形式存在表里面,也就是之前那些自动补全的空格不会自动消失,就是这个原因导致了有些模块不能正常使用。后来在数据库中把ELEMENT_ID的值自动补全的空格去掉之后就可以正常使用了,真是一个坑。
相关文章推荐
- oracle数据库删除数据的两种方式
- oracle 中常见日期查询语句
- oracle 体系架构
- 利用expdp/impdp数据泵对oracle进行数据迁移
- [oracle] listener.ora 、sqlnet.ora 、tnsnames.ora
- ORACLE分区表注记
- oracle的jdbc连接方式:oci和thin
- Oracle数据库常用技术
- oracle中varchar和varchar2区别
- oracle删除用户及其名下对象
- Oracle非重要文件恢复,redo、暂时文件、索引文件、password文件
- 如何在Oracle中复制表结构和表数据
- Oracle 自己主动诊断资料档案库 (ADR)、自己主动诊断工作流、ADRCI工具
- 在ORACLE中给表、列增加注释以及读取注释
- Oracle 外网访问
- ORACLE游标的应用
- Get Resultset from Oracle Stored procedure
- IT忍者神龟之mysql与oracle的对比
- Oracle数据库语句大全
- Oracle时间比较