Oracle如何在字段右边补位
来源:互联网 发布:美发软件免费下载 编辑:程序博客网 时间:2024/04/29 21:28
最近在做数据迁移碰到的坑大大小小也快有十多个了,今天就举出一个比较好描述又比较实用的坑吧。
前提:
从原数据库中提取数据到新的数据库中,但是某些字段在原数据库中时字符串,而在新数据中这些字段类型又是DATE,所以导致了需要利用to_date命令来转换它们,但是在进行数据迁移的过程中报了如下的错误
经过仔细的比对发现了错误的根源,如下图。这就是这几天为什么浪费了那么多时间的原因——原数据库的字段非常不规范,于是第一反应是在后面补上00,这样是不是就可以了呢?
于是把命令改成了下面的
replace(RPAD(YQSJ,8),’ ‘,’0’)
于是就把这些不规范的六位数字改成了8位数字(后面补零),于是又启动了起来,发现报了新的错误 如下图:
ORA-01847: 月份中日的值必须介于 1 和当月最后一日之间
这才恍然大悟,需要补齐的是月份中的日期,怎么可能有0日?所以要把这两位给补成01啊!
于是又修改了命令
replace(RPAD(YQSJ,8),’ ‘,’01’)
=。=于是出现了下面的情况
200107 变成了2001070101
200108 变成了 2001080101
于是去查了replace的用法=。=
使用的函数为replace()
含义为:替换字符串
replace(原字段,“原字段旧内容“,“原字段新内容“,)
最终经过思考改出了最后的语句达到了最后的效果:
,replace(RPAD(replace(RPAD(YQSJ,8),’ ‘,’0*’),8),’*’,’1’)
阅读全文
0 0
- Oracle如何在字段右边补位
- 如何在oracle中截取某个字段中的备份字段
- oracle 右边字段重复的只取其…
- Oracle 不足2位补0
- oracle 中位数不够。。。的补位问题
- 如何在Oracle中设置自增长字段
- 如何在ORACLE中创建一个自增字段?
- 如何在Oracle中设置自增长字段
- 如何在MySQL&Oracle下创建自动递增字段
- 如何在Oracle数据库字段上建立索引
- 如何将文件存放在oracle中bfile字段中
- 如何在oracle中设置字段自动增长
- 如何在oracle中一个字段添加几个字符
- 如何在oracle中设置字段自动增长
- 在oracle数据库中如何生成UUID字段,生成随机数
- 如何在oracle中设置字段自动增长
- 如何在oracle中设置字段自动增长
- 如何在PL/SQL中修改ORACLE的字段顺序
- 数据库SQL语句查询及多表查询
- java web项目发布到linux服务器上运行出现乱码
- HashMap的内部实现机制
- Git和Github简单教程
- NodeMCU文档中文翻译 6 MQTT模块
- Oracle如何在字段右边补位
- 计算从根节点到特定子节点的路径 java
- POJ1157【DP】
- 进程间通信-管道与管道容量
- 一周搜索热点20170517
- NYOJ-27水池数目(bfs)
- C++ 指针的malloc、memcpy和 free
- s1 == s2与 s1.equals(s2)
- Android事件分发机制完全解析,带你从源码的角度彻底理解(上) (出自郭霖老师)