oracle数据库,数据表中编码为大于10位不规则数组,如何取每个数组后5位数字?

oracle数据库,数据表中编码为大于10位不规则数组,如何取每个数组后5位数字?,第1张

把数值先变成字符(to_char),然后取最后5位

SQL>select substr(to_char(1234567890),length(to_char(1234567890))-5+1,5) from dual

SUBST

-----

67890

不同个数据库函数不同,oracle的:

select a.no from a, b where substr(a.prodid,5)=substr(b.prodid,5)

截取prodid第五位之后的内容进行比较。

如果你要求的是只按照第五位进行查询

select a.no from a, b where substr(a.prodid,5,1)=substr(b.prodid,5,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

这种方法查出来的字段可能包括后三位都相同的情况,楼主可以自己再加条件,主要思路就是这样


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9889650.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存