我正在使用跟随函数从字符串中获取数字。
CREATE FUNCTION dbo.udf_GetNumeric
(@strAlphaNumeric VARCHAR(256))
RETURNS VARCHAR(256)
AS
BEGIN
DECLARE @intAlpha INT
SET @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric)
BEGIN
WHILE @intAlpha > 0
BEGIN
SET @strAlphaNumeric = STUFF(@strAlphaNumeric, @intAlpha, 1, '' )
SET @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric )
END
END
RETURN ISNULL(@strAlphaNumeric,0)
END
GO
在大多数情况下,它的使用都有帮助。
但不是全部。
字符串看起来像这样:
string-goes-here-123450
string-2-goes-here-1233
在第一种情况下,输出是正确的,即 123450,但在第二种情况下,输出是 21233。
我的问题是我怎样才能得到与“-”分开的最后一位结束数字