可以使用 SQL Server 提供的内置字符串函数实现此操作。下面是一个示例存储过程:
CREATE PROCEDURE ExtractNumberWithRupeeSymbol
@text NVARCHAR(MAX)
AS
BEGIN
DECLARE @output NVARCHAR(MAX)
-- 使用 PATINDEX 函数查找字符串中第一个 ₹ 符号的位置
DECLARE @rupeeIndex INT = PATINDEX('%₹%', @text)
IF @rupeeIndex = 0
BEGIN
-- 如果没有找到 ₹ 符号,直接返回空字符串
SET @output = ''
END
ELSE
BEGIN
-- 如果找到了 ₹ 符号,继续查找紧随其后的数字
DECLARE @numberIndex INT = @rupeeIndex + 1
WHILE @numberIndex <= LEN(@text) AND SUBSTRING(@text, @numberIndex, 1) BETWEEN '0' AND '9'
BEGIN
SET @numberIndex = @numberIndex + 1
END
-- 提取并返回数字部分
SET @output = SUBSTRING(@text, @rupeeIndex + 1, @numberIndex - @rupeeIndex - 1)
END
SELECT @output AS 'Output'
END
调用存储过程:
EXEC ExtractNumberWithRupeeSymbol '西红柿₹12' -- 结果为 "12"
EXEC ExtractNumberWithRupeeSymbol '3件衣服,共计₹1050' -- 结果为 "1050"