SQL语句中如何截取字段中的数字部分然后进行精确查找
SQL语句中如何截取字段中的数字部分然后进行精确查找,如某字段值是“安居168”,当我输入“168”进行查找时,只允许带“168”数字的记录出现,而且“1688”等不能出现
SELECT * FROM TB WHERE STUFF(字段,1,PATINDEX('%[0-9]%',字段)-1,'')='168'
刚查了一下
ORACLE 10g 的可以用regexp_substr这个
9位数字结束 为: [[:digit:]]{9}$ 这里[:digit:]为特殊写法,代表为数字 再加个结束符$
比如
regexp_substr(testcol,'[[:digit:]]*')
where 字段=“字符”+“+数字+” 这样的有没有会的。