Вы можете объединить ltrim
и cast
, чтобы получить фактическое число, из которого можно отсортировать:
select * from table order by cast(ltrim(price, '$') as numeric) desc
Обратите внимание, ltrim
также работает, если у вас несколько валют. Просто выровняйте их все, как '$€'
. ltrim
удаляет все символы слева, пока не попадет в символ, которого нет в этой строке.