Использование regexp_extract:
select regexp_extract(2.456,'\\d+\\.?\\d?',0)
Результат:
2.4
\\d+
означает одну или несколько цифр, \\.?
означает ноль или одну точку, \\d?
означает ноль или one di git
Вы можете добавить также знак -
в начале регулярного выражения: -?
Результат имеет тип String. При необходимости вы можете разыграть на плаву:
select cast(regexp_extract(2.456,'\\d+\\.?\\d?',0) as float)