-2

在 10g 上工作。

我正在编写一个查询来对列表进行排序,排序是列表的一个重要方面。

我已经从混合数中分离出分数。

我有以分数形式出现的数据。(3/4, 5/8, 1/2)

我需要将它们转换为十进制才能对它们进行“排序”。

任何帮助,将不胜感激。

4

1 回答 1

1

如果输入不是诸如 3/4、5/8 等的分数,这将非常糟糕,但这里是:

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

逻辑基本上是“获取'/'之前的所有内容并将其转换为数字,然后将其除以'/'转换为数字之后的所有内容”。

于 2013-08-09T18:56:12.997 回答