Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Converter fração para decimal


Isso vai explodir mal se a entrada não uma fração como 3/4, 5/8, etc., mas aqui vai:
CAST(SUBSTR(theFraction, 1, INSTR(theFraction, '/')-1) AS NUMBER) /
CAST(SUBSTR(theFraction, INSTR(theFraction, '/')+1) AS NUMBER)

A lógica é basicamente "pegue tudo antes do '/' e converta para um número, depois divida por tudo depois do '/' convertido em número".