Точно так же, как комментарий, трудно поверить, что значения были бы чем-то иным, кроме целочисленных значений, но с учетом сказанного ....
Звучит так, будто реальный вопрос - это int илиплавать?Поскольку самым простым решением было бы преобразовать его в целое число.
Вы можете выяснить, выполнив запрос к исходной таблице, чтобы узнать, всегда ли десятичное значение равно нулю, если это так, то это целое число.*
Я не использую Oracle, но я верю, что правильный вариант SQL будет следующим:
select id_column
from theTable
where id_column - trunc(id_column,0) <> 0
and rownum <= 1
Если у вас нет строк, у вас есть целые числа.Если вы получите хотя бы одну строку, они используют числа с плавающей запятой.
Если по какой-то странной причине они являются числами с плавающей запятой, вы все равно можете конвертировать их в целые числа.Выполните запрос, чтобы определить наивысшую точность, а затем умножьте на 10 ^ x, где x - максимальная точность.Это снова дает вам целые числа.