我在SQL Server中有代码从变量中删除字符
DECLARE @textval NVARCHAR(30)
SET @textval = 'CHA000382486'
SELECT
LEFT(SUBSTRING(@textval, PATINDEX('%[0-9.-]%', @textval), 8000), PATINDEX('%[^0-9.-]%', SUBSTRING(@textval, PATINDEX('%[0-9.-]%', @textval), 8000) + 'X') -1)
还有用于删除前导零的不同代码
DECLARE @textval2 NVARCHAR(30)
SET @textval2 = '000382486'
SELECT
SUBSTRING(@textval2, PATINDEX('%[^0]%', @textval2+'.'), LEN(@textval2))
但我想要一段能够删除字母并导致零的代码。
任何人都可以帮助我吗?
答案 0 :(得分:4)
这将找到第一个数字(非零)值
Declare @textval NVARCHAR(30) = 'CHA000382486'
Select Substring(@textval,PatIndex('%[1-9]%',@textval),len(@textval))
返回
382486
另一个选择
Select ''+cast(right(@textval,9) as int)