sql删除前导和后缀

1、patindex用法

       

                 

patindex('%pattern%', expression)
 
  •       pattern--> 正则表达式,需要匹配的前导内容,可以进通配;
  •       expression-->需要的编辑的数据内容,可以是动态的字段值;
  •      此方法的返回值为int的数据类型,返回的该正则表达式第一次匹配的后位置,如[^0]-->001,返回的值为3

2、获取开始截取开始的位置:

    

start = patindex('%pattern%', expression) - 1;
 

3、获取匹配后截取字符串的长度:

   

length = len(expression) - patindex('%pattern%', expression);
 

4、进行数据截取

  

substring(expression, start, length)
 

    此时可以获取需要的字符串

5、整个sql为:

    

update editTable
set editTable.{editColunm}=SUBSTRING
(
   editTable.{editColunm}, 
   patindex('%[^0]%', editTable.{editColunm}), 
   len(editTable.{editColunm}) - (patindex('%[^0]%', editTable.{editColunm}) - 1)
) 
from {datatableName} editTable

6、删除后缀以此类推。

   

猜你喜欢

转载自lswq-love-221.iteye.com/blog/2256618