正在从SQL server中的varchar列中删除字符串



我有一列定义为varchar。sql server中是否有任何函数可用于仅具有列的数值并从中删除任何其他字符。

例如:123abc--123

ab12c-12

ab45c--45

你可以试试这个:

DECLARE @temp TABLE
(
string NVARCHAR(50)
)
INSERT INTO @temp (string)
VALUES 
('123abc'),
('ab12c'),
('ab45c?')
SELECT SUBSTRING(string, PATINDEX('%[0-9]%', string), PATINDEX('%[0-9][^0-9]%', string + 't') - PATINDEX('%[0-9]%', 
string) + 1) AS Number
FROM @temp

最新更新