日期:2014-05-17  浏览次数:20442 次

SQL PATINDEX
SELECT SUBSTRING(BillCode,PATINDEX('%[12-13]%', BillCode),len(BillCode)) FROM Bill

要求:截取字段BillCode从含有12或13开始的所有内容,上面的结果不对,查询出的结果是从含有1或2或3开始的所有内容,这个怎么改?

------解决方案--------------------

SELECT SUBSTRING(BillCode,PATINDEX('%1[23]%', BillCode),len(BillCode)) FROM Bill


------解决方案--------------------
引用:

SELECT SUBSTRING(BillCode,PATINDEX('%1[23]%', BillCode),len(BillCode)) FROM Bill


1楼的有问题,比如下面两个字符串的返回结果
转化后    转化前
3dja3 3dja3j
2d2ja 2d2jaj