CREATE TABLE #income (clientIncome NVARCHAR(200));
INSERT INTO #income
(
clientIncome
)
VALUES (' ₹30000 for sales of vegetables'),
('₹40000 for whole sale of vegetables'),
('TOTAL INCOME APPROX ₹70000'),
('NET INCOME ₹ 35,000');
SELECT i.clientIncome,
CASE
WHEN CHARINDEX('₹ ', i.clientIncome) != 0 THEN
CAST(replace(SUBSTRING(
i.clientIncome,
CHARINDEX('₹', i.clientIncome) + 3,
CHARINDEX('/-', i.clientIncome) - CHARINDEX('₹', i.clientIncome) - 3
),',','') AS NUMERIC)
ELSE
NULL
END income
FROM #income AS i;
DROP TABLE #income;
For the above created procedure, getting output NULL
CREATE or ALTER PROCEDURE test (@promo_text varchar(100))
AS
begin
SET NOCOUNT ON
SELECT
CASE
WHEN CHARINDEX('$', @promo_text) != 0 THEN
CAST(replace(SUBSTRING(
@promo_text,
CHARINDEX(' $ ', @promo_text) + 3,
CHARINDEX('/-', @promo_text) - CHARINDEX(' $ ', @promo_text) - 3
),',','') AS NUMERIC)
ELSE
NULL
END income from income
print @promo_text
end