Результат подстроки не работает при использовании инструкции прецедента

#postgresql-9.5

#postgresql-9.5

Вопрос:

Тип столбца: jsonb

Здесь данные таблицы:

введите описание изображения здесь

Теперь я хочу преобразовать 2,5 кг в 2500. И удалите оставшуюся подстроку.

Здесь запрос:

 select id,
    case when title_en ~ 'kg$' 
    then 
        cast(replace(substring(title_en 
        from 
        (length(title_en) - position(' ' in reverse(title_en))   1) -- last space position
        for 
        (position('kg' in title_en)) - (length(title_en) - position(' ' in reverse(title_en))   1) -- count of chars to extract
                 ),',','.')::float * 1000 as text)
    else title_en
    end,
weight_qty, options_weight from result_table
  

Я преобразовал весь столбец в тип text.
Вот результат:

введите описание изображения здесь

Неплохо. Это правильный результат. Теперь мне нужно отфильтровать содержимое записи 2500 в столбце title_en

Я пробую это (показывать только предложение where)

 weight_qty, options_weight from result_table
where  
title_en ~ '2500'
  

Но результат пуст.

Но если я попытаюсь использовать старое значение (2,5 кг), то оно исправит отображение одной записи.

 weight_qty, options_weight from result_table
where  
title_en ~ '2.5kg'
  

Вот результат:
введите описание изображения здесь

Почему бы не работать с новым значением (2500)?