sql删除前导和后缀

时间:2023-03-09 05:18:22
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、删除后缀以此类推。