当我在 sql 中调用查询时,我想删除所有非数字字符。我有函数,在函数中我这样做:
Declare @KeepValues as varchar(50)
Set @KeepValues = '%[^0-9]%'
While PatIndex(@KeepValues, @Temp) > 0
Set @Temp = Stuff(@Temp, PatIndex(@KeepValues, @Temp), 1, '')
Run Code Online (Sandbox Code Playgroud)
但现在我想用查询(选择)来做。我试过了,但这不起作用
select substring(AdrTelefon1, PatIndex('%[^0-9]%', AdrTelefon1), 2000) from test
Run Code Online (Sandbox Code Playgroud)
编辑 我有! T-SQL 选择查询以删除非数字字符
它不能正常工作
SELECT LEFT(SUBSTRING(AdrTelefon1, PATINDEX('%[0-9]%', AdrTelefon1), 8000),
PATINDEX('%[^0-9]%', SUBSTRING(AdrTelefon1, PATINDEX('%[0-9]%', AdrTelefon1), 8000) + 'X') -1) from test
Run Code Online (Sandbox Code Playgroud)
我有 04532/97 并且在此查询之后我有 04532 但我需要 0453297