SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Firebird, HQbird, InterBase » int128 и шестнадцатеричная нотация
int128 и шестнадцатеричная нотация [сообщение #4706] Wed, 27 March 2024 11:49 Переход к предыдущему сообщению
МП в настоящее время не в онлайне  МП
Сообщений: 887
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
продолжаю тестировать int128 и всякое прочее.
SELECT 0x8000000000000000 FROM RDB$DATABASE; --int64

             CONSTANT 
===================== 
 -9223372036854775808 

добавляем ещё одну тетраду, чтоб выйти за предел int64 и получаем облом
SELECT 0x18000000000000000 FROM RDB$DATABASE; --int128

             CONSTANT 
===================== 
Statement failed, SQLSTATE = 22003
Dynamic SQL Error
-SQL error code = -303
-arithmetic exception, numeric overflow, or string truncation
-Integer overflow.  The result of an integer operation caused the most significant bit of the result to carry.

Firebird/Linux/AMD/Intel/x64 (access method),
version "LI-V4.0.2.2816 Firebird 4.0"
on disk structure version 13.0
Dialect 3.

Согласно доке, начиная с Firebird 4.0.1 числа состоящие из 17-32 шестнадцатеричных цифр должны интерпретироваться как int128.

что я не так делаю?
 
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Сообщение не прочитано
Предыдущая тема: Новые возможности Firebird 5.0: Полная версия
Следующая тема: Roadmap Firebird 6.0
Переход к форуму:
  


Текущее время: Fri Nov 15 08:44:10 GMT+3 2024

Общее время, затраченное на создание страницы: 0.00775 секунд