powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Казалось бы тривиальный ворос: как роботает NUMBER(p,s)
5 сообщений из 5, страница 1 из 1
Казалось бы тривиальный ворос: как роботает NUMBER(p,s)
    #32042953
none
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уже около 2-х лет работаю с ораклом, а ни разу не приходилось пользоваться NUMBER(p,s). Ну казалось бы, чего проще:
p (precision) или количесто знаков до запятой (слева), то есть десятки, сотни и тд. Например в NUMBER(2) я могу запихнуть макс. число = 99.
s (scale) или колв-во знаков полсе запятой. Вот этот параметр я никогда не использовал.
И сочетание p,s хранит какуюто магию:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SQL> DECLARE
   2    Index1 NUMBER( 10 , 10 );
   3   BEGIN
   4    Index1 :=  342342 . 898 ;
   5   END;
   6   /
DECLARE
*
ERROR at line  1 :
ORA- 06502 : PL/SQL: numeric or value error: number precision too large
ORA- 06512 : at line  4 

Ну вот какие нужно выбрать p и s чтобы хранить 342342.898?
Объясните плиз как работает сочетание p,s!!!!

PS - документацию читал НЕОДНОКРАТНО!
...
Рейтинг: 0 / 0
Казалось бы тривиальный ворос: как роботает NUMBER(p,s)
    #32042958
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>PS - документацию читал НЕОДНОКРАТНО!

что-то не верится :-)

PL/SQL User's Guide and Reference
Release 8.1.6
Part Number A77069-01

You can specify precision, which is the total number of digits, and scale, which is the number of digits to the right of the decimal point. The syntax follows:

NUMBER[(precision,scale)]
...
Рейтинг: 0 / 0
Казалось бы тривиальный ворос: как роботает NUMBER(p,s)
    #32042966
none
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ну хорошо, пусь p-общее число цифр в числе. Тогда почему возникает исключение в верхнем примере: 342342.898 - всегото 9 цифр!
...
Рейтинг: 0 / 0
Казалось бы тривиальный ворос: как роботает NUMBER(p,s)
    #32042979
nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
None, учите английский
p - общее кол-во знаков
s - из них после запятой
т.е. перед запятой p-s
...
Рейтинг: 0 / 0
Казалось бы тривиальный ворос: как роботает NUMBER(p,s)
    #32042983
none
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to nick
В этих 3-х ваших строках вся суть, спасибо:
p - общее кол-во знаков
s - из них после запятой
т.е. перед запятой p-s
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Казалось бы тривиальный ворос: как роботает NUMBER(p,s)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]