我在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))
但是我想要一个可以删除字母并以零开头的代码。
谁能帮我?
最佳答案
这将找到第一个数字(非零)值
Declare @textval NVARCHAR(30) = 'CHA000382486'
Select Substring(@textval,PatIndex('%[1-9]%',@textval),len(@textval))
退货
382486
另外的选择
Select ''+cast(right(@textval,9) as int)
关于sql - 如何在SQL Server中删除字母和前导零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41395602/