SQL如何在您第一次找到特定字符/字符串时返回特定字符串

时间:2020-06-09 19:14:27

标签: mysql sql string

我有一列包含以下字符串示例:

“已选择计划:金额$ 5,000.00未选择计划:金额$ 4,000.00” “选择的计划:金额$ 500.00未选择的计划:金额$ 3,000.00”

我想退还$ 5,000.00和$ 500.00的金额。找到字符串“计划所选:金额”时,我基本上需要将“ $”符号返回到“ .00”。

示例代码:从表t中选择REPLACE(SUBSTRING(t.description,23,9),',','')

但是,如果金额较小,它将不会返回我希望在“ .00”处截断的位置。

谢谢!

1 个答案:

答案 0 :(得分:0)

对于您提供的数据,应该这样做。 (我将首先提供固定字符串的代码)

这是假设您始终以指定的格式获取数据

Set @Start := 'Plan selected: Amount $';
Set @End := '.00 ';
Set @Str := 'Plan selected: Amount $5,000.00 Plan Not Select: Amount $4,000.00';
SELECT substring_index(substring_index(@Str, @Start, -1), @End, 1);

这里是fiddle