Oracle
 sql >> Base de données >  >> RDS >> Oracle

Convertir une fraction en décimal

Cela explosera mal si l'entrée n'est pas une fraction telle que 3/4, 5/8, etc., mais voilà :

CAST(SUBSTR(theFraction, 1, INSTR(theFraction, '/')-1) AS NUMBER) /
CAST(SUBSTR(theFraction, INSTR(theFraction, '/')+1) AS NUMBER)

La logique est essentiellement "obtenir tout avant le '/' et le convertir en nombre, puis le diviser par tout après le '/' converti en nombre".