JustMax wrote:zVlad wrote: Просто из любопытства не могу не спросить: в чем это интересно Оракл нааааааамного далеко ушел от DB2?
Насчет темы топика. А как же Оракл работает с преобразованиями типов в выражениям? С округлением? Ведь если с размером дробной части полный произвол, то и четких правил округления быть не может?
В DB2 десятичные, целые и с плавающей точкой - это три разных формата. Если написать DECIMAL(5,3) то именно такую размерность и будет хранить и выдавать DB2, применяя общепринятые правило округления, или выдавая код ошибки если число превосходит заданую размерность. Честно говоря не понимаю, как можно с этим работь иначе?
Прошу прощения zVlad, я поставил IMHO и я по-моему сказал, что 9-10 далеко ушли от 7 ки а не от DB2. Но лично я (IMHO!) конкурентов по важным для меня как для разработчика критериям не вижу. По поводу хранения number типов - с етим полный порядок. Внутренне любые NUMBER абсолютно унифицированны и занимают строго одинаковую структуру (22 bytes вроде) а представление числа, грубо говоря правила сохранения, округления, формат и т.д. хранится в data dictionaries. За счет етого, например, при изменении описания колонки NUMER(5) в NUMBER(9,4) не затрагиваются сами данные а изменяется только запись формата в DD. Все функции (ROUND, CEIL, FLOOR, TRUNC etc.) работают строго в соответствии с текущим форматом. В математических выражениях числа приводятся к более крупному члену и т.д. Конечно при записи числа в колонку с более ограниченным форматом вам надо явно обрезать/округлить число.
Ну и где произвол ? И что такое четкие правила округления ? Вы можете задавать любые произвольные правила округления.
(Не автоматом а с помощью функций). Если же вы не хотите парится с fine grade number formats или у вас нет строгих ограничений на форматы представления NUMBER данных - используйте "generic types" INTEGER, FLOAT, DECIMAL etc.
Не по теме - а в DB2 можно в WHERE использовать регулярные
выражения ? Или на лету получить consistent данные из таблицы 30 мин давности ? Или создавать в базе структуры для хранения
XML на основе DDT или XML Schema ? Или хранить данные не в ввиде plain структур a виде обьектов (В том числе Java обьектов) ? Что есть, например, такого в DB2, чего точно нет в Oracle и что
было бы неплохо иметь ?
Sorry for offtopic. Try to compare DB2 SQL PL and Oracle PL/SQL - It is earth and sky. DB2 SQL PL is very limited. Function in DB2 SQL PL can not contain several statements. You must do all your logic in one statement. There is no provided packages by IBM . Oracle has close to 100 packages.