SQL server 获取数字部分数据

SQL server 获取数字部分数据_第1张图片

  SUBSTRING(B.F_Code, PATINDEX('%[0-9]%', B.F_Code), PATINDEX('%[^0-9]%', B.F_Code + 'X') - PATINDEX('%[0-9]%', B.F_Code)) AS NumericPart

第一个PATINDEX('%[0-9]%', B.F_Code) 找到数字开头的起始位置

这个PATINDEX('%[^0-9]%', B.F_Code + 'X') 把这个字段拼接上一个字母,保证一定能找到一个非数字

然后非数字位置减去数字位置就能拿到截取截止位置

PATINDEX('%[^0-9]%', B.F_Code + 'X') - PATINDEX('%[0-9]%', B.F_Code)

你可能感兴趣的:(数据库开发)