Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Bruch in Dezimalzahl umwandeln

Dies wird schlimm explodieren, wenn die Eingabe nicht ist ein Bruch wie 3/4, 5/8 usw., aber hier gilt:

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

Die Logik ist im Grunde "alles vor dem '/' holen und in eine Zahl umwandeln, dann durch alles nach dem '/' dividieren, das als Zahl umgewandelt wurde".