一个从字符串中提取数字的函数:
12345678910
CREATE FUNCTION [dbo].[GET_NUMBER](@S VARCHAR(100))RETURNS VARCHAR(100)ASBEGIN WHILE PATINDEX('%[^0-9-.]%',@S) > 0 BEGIN SET @S = STUFF(@S, PATINDEX('%[^0-9-.]%', @S), 1, '') END RETURN @SEND
用例:
123
SELECT dbo.GET_NUMBER('1q2W399E4987r')-- 得到结果: 123994987