oracle 中的转化函数

(1)ASCAIISTR(string) 是oracle9i 新增的函数,是将任意字符集转化为数据库字符集的ASCII码字符串
select ASCIISTR(‘中国’) from dual;
这里写图片描述

select ASCII(‘中国’) from dual;
这里写图片描述

(2) BIN_TO_NUM(‘1’,’1’,’0’) 二进制到十进制的转换
select bin_to_num(‘1’,’1’,’0’) from dual;

(3) CAST(expr as type_name); convert(char,dest_chartype, sourse_chartype);将一个内置的数据类型或集合类型强转成另外的一个内置的数据或集合类型;
declare
v_cast varchar2(20);
begin
v_cast := cast (sysdate as varchar2);
dbms_output.put_line(‘转化结果为:’ || v_cast);
end;

select convert(‘2014-08-02’,’US7ASCII’,’WE8ISO8859p1’) from dual;
(4)CHARTOROWID(char)将字符串转化为rowid类型;但字符串必须符合rowid 类型
ROWIDTOCHAR(char)将rowid 类型转化为varchar2类型
ROWIDTONCHAR(char)将rowid 类型转化为nvarchar2类型
select Rowid from dual;
select chartorowid(‘AAAAECAABAAAAgiAAA’) from dual;

/有关rowid的小知识/


rowid是一种特殊类型的列,又叫做rowid伪列。rowid伪列可以向正常列一样使用sql select语句访问。oracle数据库每一行都有一个rowid伪列。rowid表示特定行的特定地址。rowid 伪列可以用rowid数据类型来定义。
rowid与磁盘驱动器中的特定位置相关。因此,rowid是获取某个行最快速的方法。然面,一个行的rowid会随着数据库的卸载和重新加载而发生变化。基于这一点考虑,我们不推荐在多个事务代码中使用rowid伪列的值。
用户无法使用sql语句来设置标准的rowid伪列的数值。
用户可以定义rowid类型的列或者变量,但是oracle并不保证存在这些列或者变量中的数值就是有效的rowid
rowid就是表记录存在于文件系统中的物理位置,索引结构中包含rowid,因此通过索引能快速的定位表中的记录.


(5)COMPOSE(char) 将输入字符串转化为uncode字符串值
DECOMPOSE(char) 将输入字符串分解,并返回uncode码
select compose(‘hhHHH’) from dual;
select decompose(‘hhHHH’) from dual;

这里写图片描述

(6)HEXTORAW(char)将十六进制字符串转化为raw类型;
RAWTOHEX(char)将raw类型转化为十六进制字符串;
RAWTONHEX(char)将raw类型转化为nvarchar2的十六进制字符串;
select hextoraw(‘125ADD’) from dual;
select rawtohex(‘125AHH’) from dual;
select rawtonhex(‘125AHH125’) from dual;
(7)SCN_TO_TIMESTAMP(number);
TIMESTAMP_TO_SCN(timestamp);
system change number (SCN)是一个非常重要的标记,Oracle使用它 来标记数据库在过去时间内的状态和轨迹;
Oracle使用SCN来保存所有变化的轨迹。SCN是一个逻辑时钟来记录数据库事件。它非常的重要,并不是只是为了恢复。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值