各位高人:请教:Orcle字符字段比如某字段定义为char(3)或者varch2,能否写入十六进制数
insert into table(char_type) values ('321'),通过,为什么insert into table(char_type) values (ox31),即写入字符的16进制ascii码值就不行了呢?
某字段要用16进制显示,有什么办法吗?
多谢?
insert into table(char_type) values ('321'),通过,为什么insert into table(char_type) values (ox31),即写入字符的16进制ascii码值就不行了呢?
某字段要用16进制显示,有什么办法吗?
多谢?
解决方案 »
- 谁能告诉我 set serveroutput on 怎么在PL_SQL里的 SQL窗口里用
- PL/SQL无法连接Oracle数据库
- 一个关于数据库联接查询的问题,求高手解答
- tangren 刚才结贴的时候没有给您算上分
- oracle存储过程返回ref cursor 怎么显示呢?
- 错误ORA-01026,赋值列表中存在多个大于>4000的缓冲区???
- 如何以长数据在数据库中找其包含的短数据.
- 為什麼 select * from dba_tables 能查到數據,但是select * from dba_tables where table_name like 'a%却返回沒有任何資料列被選取呢?
- ORACLE安装配置问题
- 请问如何学oracle?(本能想多给点分:错误:你不能放这么多分!)
- 存储过程在被JOB调用时,重新编译被调用的存储过程,是否需要先断掉JOB并KILL掉正在执行的过程?
- 【各位高手救命】如何获取clob类型的字节长度
可以的,例如:oracle中10进制和16进制的相互转化
这个写的有错吗select to_number('18','xxx') from dual;
16进制转化为10进制
TO_NUMBER('18','XXX')
1 24
表示16进制的18是10进制的24select to_char('123','xxx') from dual;
10进制转化为16进制
TO_CHAR('123','XXX')
1 7b表示10进制的123表示16进制的7b
SQL> select to_char(1000,'0xxxxx') aaa from dual;AAA
-------
0003e8SQL> select to_char(20,'0xxxxx') aaa from dual;AAA
-------
000014SQL> select to_char(20,'0x') aaa from dual;AAA
---
14SQL>
字符型和数字型是不同的,字符型只能存储字符串,虽然这个字符串可以是一个数字字符组成的字符串,比如“123" 甚至 "FA8C".
insert into table(char_type) values ('321'),通过,为什么insert into table(char_type) values (ox31),即写入字符的16进制ascii码值就不行了呢?
写入十进制数字也是不行的。只不过ORACEL会做一些类型转换。但 0x31 没人知道这是什么。除非事先讲好0x为hex,但除了C里面大家讲好了之外,ORACLE中还象还没这种定义。某字段要用16进制显示,有什么办法吗?
显示是可以的,显示和存贮是不同的,楼上的to_char函数就行了。
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/BList/OtherDatabase .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .