oracle 转16进制之后插入到表报ora-01722错误

[复制链接]
查看11 | 回复4 | 2018-3-29 11:10:12 | 显示全部楼层 |阅读模式
create table cjb as
SELECT TRIM(TO_CHAR(REPLACE(STUDENT_CODE, 0, '9'), 'XXXXXXXX')) STUDENT_CODE,
SCHOOL_YEAR,
SEMESTER,
COURSE_CODE,
COURSE_NAME,
SCORE,
REEXAM_SCORE,
RETAKE_SCORE,
CREDIT,
GRADE_POINT,
RETAKE_SEMESTER,
JX0404ID,
TRIM(TO_CHAR(REPLACE(TEACHER_CODE, 9, 0), 'XXXXXXXX')) TEACHER_CODE
FROM IN_JWXT_CJB
之后就报ora-01722错误麻烦大神了

回复

使用道具 举报

千问 | 2018-3-29 11:10:12 | 显示全部楼层
REPLACE(STUDENT_CODE, 0, '9')这个已经隐式转换成字符型了 你还 to_char
回复

使用道具 举报

千问 | 2018-3-29 11:10:12 | 显示全部楼层
你好,我是想把字段中含有0的替换为9,然后再做16进制转换
回复

使用道具 举报

千问 | 2018-3-29 11:10:12 | 显示全部楼层
0换成9是什么意思?
你数据的编码格式只有你自己知道,就凭你顶楼写的,没有人能帮你。你必须举例详细说明转换的规则。
回复

使用道具 举报

千问 | 2018-3-29 11:10:12 | 显示全部楼层
谢谢版主您回复,后面仔细查了下表里面的数据,中间有部分脏数据所导致。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行