У меня есть такой оракульный запрос:
SELECT floatColum0,floatColum1,ROUND(floatColum2,2) from table;
, который возвращает такие значения:
.2 , 1.23, .23
как мне получить что-то подобное?(ведущие нули)
0.2, 1.23, 0.23 ?
Это не числа, чьи ведущие нули cut, а скорее строковое представление числа.В основном это не проблема, поскольку логика приложения используется с данными из базы данных, которая работает с фактическими данными (в данном случае с самим числом), а не с их строковым представлением.Но если вам это абсолютно необходимо, вы можете отформатировать строку в запросе:
cut
SET numformat 99.99; SELECT floatColum0,floatColum1,ROUND(floatColum2,1) from table;
Это должно сработать, но, опять же, помните, что это довольно бессмысленное упражнение.Для дополнительных деталей: http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements004.htm#SQLRF00211
Я думаю, что ваша проблема может быть в региональных настройках.
Сделайте это:
и измените значение на то, что вы хотите.
Вы можете попробовать привести его к типу varchar и использовать оператор case, чтобы добавить ноль, если первый символ - «.»(и ничего не добавляя, если что-то еще).
Я не эксперт по Oracle, но я не думаю, что вы могли бы "добавлять" нули без изменения типа данных.