oracle 9i - SQL data types
-
- Уже с Приветом
- Posts: 1476
- Joined: 05 Dec 2000 10:01
- Location: Vilnius -> Bonn
-
- Уже с Приветом
- Posts: 1476
- Joined: 05 Dec 2000 10:01
- Location: Vilnius -> Bonn
Re: oracle 9i - SQL data types
Sabina wrote:number(x) - это тоже alias number(x,0) ?
Нет, NUMBER(x) - не ограничивает дробную часть.
-
- Уже с Приветом
- Posts: 5669
- Joined: 13 Oct 2000 09:01
- Location: East Bay, CA
JustMax wrote:И еше. Кто вам мешает иметь доступ к базе не только через SQLPlus.
К базе на кампусе мешают privileges правда я ваш тул не пробовала, может на него и не заругается.
Я по идее все что мне надо уже рассмотрела на своей домашней базе на Линуксе.
Оч. хочется спать! (мысли вслух в 1:16 AM ).
Сабина
-
- Уже с Приветом
- Posts: 5669
- Joined: 13 Oct 2000 09:01
- Location: East Bay, CA
JustMax wrote:Создается number по максимуму. To же самое чтоCode: Select all
NUMBER(38)
А я прогнала create c просто number, посмотрела описание полученной таблицы, а там USERID NUMBER(0,0)
Сабина
-
- Уже с Приветом
- Posts: 1476
- Joined: 05 Dec 2000 10:01
- Location: Vilnius -> Bonn
Ето раз :
http://download-west.oracle.com/docs/cd ... htm#424654
Во вторых верить надо только информации отсюда :
select * from user_tab_columns where table_name = 'NNNHHZ';
А NUBER(10) таки обрезает дробную часть.
http://download-west.oracle.com/docs/cd ... htm#424654
Во вторых верить надо только информации отсюда :
select * from user_tab_columns where table_name = 'NNNHHZ';
А NUBER(10) таки обрезает дробную часть.
-
- Уже с Приветом
- Posts: 525
- Joined: 01 May 2002 20:29
- Location: CT->MA->TX->UT
Sabina wrote:Lazy44 wrote: select constraint_name
from user_constraints
where constraint_type ='R'
and table_name='CMSUSER';
Спасибо.
А еще вы не в курсе почему если задать тип number без определения длины он создается number(0,0)
С таким типом разьве можно работать?
Сабина
Это не баг, ето фича. Работат можно и нужно с number
-
- Уже с Приветом
- Posts: 956
- Joined: 04 Mar 2002 10:01
JustMax wrote:Ето раз :
http://download-west.oracle.com/docs/cd ... htm#424654
Во вторых верить надо только информации отсюда :
select * from user_tab_columns where table_name = 'NNNHHZ';
А NUBER(10) таки обрезает дробную часть.
Дык. Вопросу типа "Q: А как мне в BDE через Oracle получить Integer? A:NUMBER(10)" лет столько же, сколько и первой Delphi, то бишь десяток почти. Я правда думал, что хотя бы macro сделали уже. Oracle после 7.1.3 в руки не брал. Да и стоило ли? Семерка, по-моему, лучший DB сервер всех времен была. Увы.
-
- Уже с Приветом
- Posts: 1476
- Joined: 05 Dec 2000 10:01
- Location: Vilnius -> Bonn
IA72 wrote:Oracle после 7.1.3 в руки не брал. Да и стоило ли? Семерка, по-моему, лучший DB сервер всех времен была. Увы.
S 7 normal'no mozhno bylo rabotat' s versii 7.3 (7.3.*, 7.3.4) O chem vy ? Stoilo stoilo. IMHO 9i ili 10G naaamnogo dal'she vpered ushli. Konkurentov ja poka i blizko ne vizhu.(Nu mozhet kogda Yukon vyjdet).
Po povodu types - zaglianite v packet STANDARD na 9 - ke
-
- Уже с Приветом
- Posts: 15410
- Joined: 30 Apr 2003 16:43
JustMax wrote:IA72 wrote:Oracle после 7.1.3 в руки не брал. Да и стоило ли? Семерка, по-моему, лучший DB сервер всех времен была. Увы.
S 7 normal'no mozhno bylo rabotat' s versii 7.3 (7.3.*, 7.3.4) O chem vy ? Stoilo stoilo. IMHO 9i ili 10G naaamnogo dal'she vpered ushli. Konkurentov ja poka i blizko ne vizhu.(Nu mozhet kogda Yukon vyjdet).
Po povodu types - zaglianite v packet STANDARD na 9 - ke
Просто из любопытства не могу не спросить: в чем это интересно Оракл нааааааамного далеко ушел от DB2?
Насчет темы топика. А как же Оракл работает с преобразованиями типов в выражениям? С округлением? Ведь если с размером дробной части полный произвол, то и четких правил округления быть не может?
В DB2 десятичные, целые и с плавающей точкой - это три разных формата. Если написать DECIMAL(5,3) то именно такую размерность и будет хранить и выдавать DB2, применяя общепринятые правило округления, или выдавая код ошибки если число превосходит заданую размерность. Честно говоря не понимаю, как можно с этим работь иначе?
-
- Уже с Приветом
- Posts: 1476
- Joined: 05 Dec 2000 10:01
- Location: Vilnius -> Bonn
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 и что
было бы неплохо иметь ?
-
- Уже с Приветом
- Posts: 525
- Joined: 01 May 2002 20:29
- Location: CT->MA->TX->UT
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.
-
- Уже с Приветом
- Posts: 1476
- Joined: 05 Dec 2000 10:01
- Location: Vilnius -> Bonn
-
- Уже с Приветом
- Posts: 28294
- Joined: 29 Aug 2000 09:01
- Location: SPB --> Gloucester, MA, US --> SPB --> Paris
JustMax wrote:Ето вы мне предлагаете ?
Нафик, нафик - мне хватает периодической борьбы с TransactSQL.
(Где мои Oracle exceptions )
try catch ?
Выгляните в окно - уже занимается на востоке светлая заря коммунизма. В смысле YUKON.
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
-
- Уже с Приветом
- Posts: 15410
- Joined: 30 Apr 2003 16:43
JustMax wrote:.......
Не по теме - а в DB2 можно в WHERE использовать регулярные
выражения ? Или на лету получить consistent данные из таблицы 30 мин давности ? Или создавать в базе структуры для хранения
XML на основе DDT или XML Schema ? Или хранить данные не в ввиде plain структур a виде обьектов (В том числе Java обьектов) ? Что есть, например, такого в DB2, чего точно нет в Oracle и что
было бы неплохо иметь ?
Thank you for clarification regarding numeric data types.
1. What "регулярные выражения" means?
2. "...Или на лету получить consistent данные из таблицы 30 мин давности ?" - No. It is impossible, and it was discussed before. Of course, we can "получить consistent данные из таблицы 30 мин давности" but we need to recover table first.
3. "...Или создавать в базе структуры для хранения
XML на основе DDT или XML Schema". I am not an expert in XML, but I hope with this stuff in DB2 everythink is OK.
4. "Или хранить данные не в ввиде plain структур a виде обьектов (В том числе Java обьектов)" - I think this sort of functionaly is a subject for other than database software.
5."Что есть, например, такого в DB2, чего точно нет в Oracle и что
было бы неплохо иметь " When I reacted on your posting I thought you know answer to this question (redirected of course). Anyway, what about:
- recursive query (WITH statement, common table expression)?
- multy-row INSERT?
- SELECT .... FROM INSERT ?
- static queries? (Queries are stored in data base server in compiled and ready to be executed form).
multi-deminsioned clusterering index?
This are just SQL related stuff.
-
- Уже с Приветом
- Posts: 1476
- Joined: 05 Dec 2000 10:01
- Location: Vilnius -> Bonn