我有一列定义为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