powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / int8
3 сообщений из 3, страница 1 из 1
int8
    #33377817
drew-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
CREATE TABLE prices
(
  id serial NOT NULL,
  incl_in int8 NOT NULL DEFAULT  0 ,
  incl_out int8 NOT NULL DEFAULT  0 
)
запрос выполняется:
Код: plaintext
UPDATE prices SET incl_in= 2047 * 1024 * 1024  WHERE id= 15 ;

возникает ошибка: ERROR: integer out of range
Код: plaintext
UPDATE prices SET incl_in= 2049 * 1024 * 1024  WHERE id= 15 ;

через pgAdmin ручками 2049*1024*1024 ставится
ничего не понимаю. где косяк?
...
Рейтинг: 0 / 0
int8
    #33377853
фффф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это фича многих интерпретаторов. Парсер недостаточно умен для того чтобы определить тип получаемой константы. Все три множителя входят в диапазон int4 - и результат подразумевается int4.
Поможет явное приведение типа: 2049*1024*1024::int8
...
Рейтинг: 0 / 0
int8
    #33379028
drew0-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
точно! спасибо! как же я не сообразил про приведение типов! =)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / int8
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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