sql >> Base de Datos >  >> RDS >> Oracle

Convertir fracción a decimal

Esto explotará gravemente si la entrada es no una fracción como 3/4, 5/8, etc., pero aquí va:

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

La lógica es básicamente "obtener todo antes de '/' y convertirlo en un número, luego dividirlo por todo después de '/' convertido en número".