sql 语句一个字段有5位数字,我想自己后三位数字有两个相同的,怎么查询

2025-06-21 20:23:42
推荐回答(3个)
回答1:

是要查出后三位中有两个数字相同的该字段是吧?
select 目标字段
from tablename
where substring('目标字段',3,1)=substring('目标字段',4,1) or
substring('目标字段',3,1)=substring('目标字段',5,1) or
substring('目标字段',4,1)=substring('目标字段',5,1) or
这种方法查出来的字段可能包括后三位都相同的情况,楼主可以自己再加条件,主要思路就是这样

回答2:

select 目标字段
 from tablename
 where (substring('目标字段',3,1)=substring('目标字段',4,1) and substring('目标字段',3,1) <> substring('目标字段',5,1)) or
            (substring('目标字段',3,1)=substring('目标字段',5,1) and substring('目标字段',3,1) <> substring('目标字段',4,1)) or (
            substring('目标字段',4,1)=substring('目标字段',5,1) and substring('目标字段',4,1) <> substring('目标字段',3,1))

回答3:

假设字段a
select * from 表 where
(SUBSTRING(convert(varchar,a),3,1) = SUBSTRING(convert(varchar,a),4,1) )
or
(SUBSTRING(convert(varchar,a),4,1) = SUBSTRING(convert(varchar,a),5,1) )
or
(SUBSTRING(convert(varchar,a),3,1) = SUBSTRING(convert(varchar,a),5,1) )

例如 11225 11522 11252 都可以符合要求