Hi, a have a problem with float data type
i enter this code
create table #a(f float, d double) insert into #a values(20350.35, 20350.35) select * from #a
I see a different result in column f and d
f d 20350.349609375 20350.35
i use SQL Anywhere 12. in early versions, such as ASA 8 was float_as_double option, that can solve this problem
is it bug?
asked 06 Jun '12, 01:13
It is by design - cf. the v11.0.0 "SQL Anywhere deprecated and discontinued features" docs - to cite:
Without that option, a FLOAT without precision is equivalent to the REAL data type and requires 4 bytes of storage, whereas a DOUBLE requires 8 bytes.
So I guess you ought to bring the datatypes into line (or use FLOAT with an explicit precision, such as FLOAT(53) - that should be identical to DOUBLE).