Code: Select all
create type my_type as object(
a_id number(18),
a_name varchar2(160 char)
);
create table my_table of my_type;
Code: Select all
insert into my_table values (999999999999999999,'value1');
insert into my_table values (9007199254740992,'value2');
Code: Select all
select value(x) obj, x.a_id id from my_table x order by id
Code: Select all
MyQuery->Open();
__int64 int1 = MyQuery->FieldByName(L"obj.a_id")->AsLargeInt;
__int64 int2 = MyQuery->FieldByName(L"id")->AsLargeInt;
MyQuery->Next();
__int64 int3 = MyQuery->FieldByName(L"obj.a_id")->AsLargeInt;
__int64 int4 = MyQuery->FieldByName(L"id")->AsLargeInt;
int1 9007199254740992 int2 9007199254740992 int3 999999999999999872 int4 999999999999999999
2^53=9007199254740992 is the biggest integer that can be stored in a double.