数据表中第一列名称为编号,数据格式为10位数字,每一位取值0-9。要查询编号满足条件: AABAA(A,B取值0-9,且B≠4) 的所有行。自己方法比较笨,穷举每一个条件,如 like%11211%,然后union。这样感觉太复杂了,有没有更好的方法?
1 回答
白衣染霜花
TA贡献1796条经验 获得超10个赞
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位和反转后的应该相同
- 1 回答
- 0 关注
- 669 浏览
添加回答
举报
0/150
提交
取消