從一字元串中,過濾所有非數字的字元,留下數字。迴圈所有字元,使用正則[0-9]來匹配。 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- -- Author: Insus.NET -- Create date: 2019-05-14 -- Upd ...
從一字元串中,過濾所有非數字的字元,留下數字。迴圈所有字元,使用正則[0-9]來匹配。
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: Insus.NET -- Create date: 2019-05-14 -- Update date: 2019-05-14 -- Description: 過濾所有非數字的字元 CREATE FUNCTION [dbo].[svf_DigitalOnly] ( @OriginalString NVARCHAR(MAX) ) RETURNS NVARCHAR(MAX) AS BEGIN DECLARE @tStr NVARCHAR(MAX) = N'', @I INT = 1 WHILE @I <= LEN(@OriginalString) BEGIN SET @tStr = @tStr + CASE WHEN SUBSTRING(@OriginalString, @I, 1) LIKE '[0-9]' THEN SUBSTRING(@OriginalString, @I, 1) ELSE N'' END SET @I = @I + 1 END RETURN @tStr END GOSource Code
試試執行函數:
擴展知識,如果保留字母呢,那可以把上面函數中的正則表達式[0-9]改為[a-zA-Z]即可。