ROUND() of INT128 number requires is to be explicitly cased to INT128
---------------------------------------------------------------------

                 Key: CORE-6356
                 URL: http://tracker.firebirdsql.org/browse/CORE-6356
             Project: Firebird Core
          Issue Type: Bug
          Components: Engine
            Reporter: Pavel Zotov


SQL> set sqlda_display on;

SQL> select round(170141183460469231731687303715884105727,1) from rdb$database;

INPUT message field count: 0

OUTPUT message field count: 1
01: sqltype: 32752 INT128 scale: 0 subtype: 0 len: 16
  :  name: ROUND  alias: ROUND
  : table:   owner:

                                        ROUND
=============================================
Statement failed, SQLSTATE = 22003
arithmetic exception, numeric overflow, or string truncation
-numeric value is out of range
SQL>

But:

SQL> select round( cast(170141183460469231731687303715884105727 as int128),0) 
from rdb$database;

-- works fine:

INPUT message field count: 0

OUTPUT message field count: 1
01: sqltype: 32752 INT128 scale: 0 subtype: 0 len: 16
  :  name: ROUND  alias: ROUND
  : table:   owner:

                                        ROUND
=============================================
      170141183460469231731687303715884105727



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to