为了账号安全,请及时绑定邮箱和手机立即绑定

关于Oracle查询求助?

/ 猿问

关于Oracle查询求助?

慕尼黑的夜晚无繁华 2018-08-11 14:10:03

数据表中第一列名称为编号,数据格式为10位数字,每一位取值0-9。
要查询编号满足条件: AABAA(A,B取值0-9,且B≠4) 的所有行。
自己方法比较笨,穷举每一个条件,如 like%11211%,然后union。
这样感觉太复杂了,有没有更好的方法?

查看完整描述

1 回答

?
白衣染霜花

SELECT * FROM test WHERE LEFT(id,5) in
(SELECT id FROM
(SELECT REVERSE(LEFT(id,5)) AS id FROM dbo.Test
WHERE SUBSTRING(id,3,1)<>4) test)
假设id为编号,test为表名。因为是AABAA形,所以截取id的前5位并去掉第三位是4的,然后反转。然后原表的ID截取前5位和反转后的应该相同

查看完整回答
反对 回复 2018-08-12

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信