oracle查询时遇到的奇怪问题,求高手解答 30

大概情况是:有一张t1表在生产环境中记录临时数据,数据量比较大,这张表的数据产生后会被处理然后delete掉,所以此表会经常执行altertablet1move;现在问题... 大概情况是:
有一张t1表在生产环境中记录临时数据,数据量比较大,这张表的数据产生后会被处理然后delete掉,所以此表会经常执行alter table t1 move;
现在问题是:
此表出现了非预期的数据,有一个字段col1数据应该是“aaa='bbb'”这样的,由触发器产生,现在却出现了“aaa='”这样的非正常数据,触发器已检查无误。现在查询这样的语句“select * from t1 where t1.col1 like '%='''” 无任何结果,但查看所有记录时却有。
请高手分析下产生这样问题可能的情况,非常感谢。
因为项目有保密要求,非常抱歉,只能这样,但大家放心,查询语句中字段名表名什么的应该是不会错的.
再补充一张图
展开
 我来答
pb04
2015-11-11 · TA获得超过134个赞
知道小有建树答主
回答量:142
采纳率:100%
帮助的人:116万
展开全部
分别把 查询所有记录的结果 和 使用Like 的结果发出来看看吧,是不是你在执行的时候 数据已经被删除了?如你所说 表数据在处理后被删除!
alter table t1 move; 这个 实在没有必要经常执行吧?
可以考虑将改表设置为全局临时表,实在想降低HWM高水位,干脆直接truncate 表
更多追问追答
追问
删除记录相关的程序已停止,所以这个问题不存在。
move大约1月1次,一月大约100w次insert和delete。
不能truncate表,此表随时要用。
追答
select * from t1 where t1.col1 like '%='''

这个查询出来的结果是 后缀为 =' 的值,你的列值里面没有满足条件的吧?
如果是你的列值里面有 aaa='bbb',想查询 应该是后面也要加%,即:
select * from t1 where t1.col1 like '%=''%';
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大话残剑
2015-11-11 · TA获得超过2217个赞
知道大有可为答主
回答量:1137
采纳率:56%
帮助的人:694万
展开全部
是不是aaa='后面还有回车之类的不可见字符
更多追问追答
追问
没有,这个已确认,plsql中查看字段HEX值确认
追答

你试下这个

insert into t1 values('abc='''||chr(0));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式