关于oracle和jdbc中rowid格式的转化

Oracle数据表在设计时没有放置主键字段,现要对表进行修改删除操作,只能考虑用rowid来唯一标识行。

查询SQL如下:

select t.*, t.rowid from t_demo t

用ResultSet得到的结果是如下形式:

ROWID=oracle.sql.ROWID@8d5a91
ROWID=oracle.sql.ROWID@3508c0
ROWID=oracle.sql.ROWID@1d183b7
ROWID=oracle.sql.ROWID@1e937f

很显然是格式转化的问题,上网查了资料找到了rowidtochar这个函数,把rowid转换成char类型,问题解决。

1. 查询列表时:

select t.*, rowidtochar(t.rowid) as strrowid from t_demo t

2. 获取行记录时:

select t.* from t_demo t where rowidtochar(t.rowid)='AAAIKTAAJAAALnHAAA'

转载于:https://www.cnblogs.com/qumao5736/archive/2009/11/30/1613682.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值