BINARY_FLOAT

Description

BINARY_FLOAT is a 32-bit, single-precision floating-point number data type. EachBINARY_FLOATvalue requires 4 bytes. In a BINARY_FLOATcolumn, floating-point numbers have binary precision. The binary floating-point numbers support the special values infinity and NaN (not a number). (Oracle Language Reference Binary_Float data type)

It is possible to specify floating-point numbers within the next limits:

  • Maximum positive finite value = 3.40282E+38F

  • Minimum positive finite value = 1.17549E-38F

Sample Source Patterns

Please, consider the following table and its inserts for the example below:

Binary Float in Create Table

Oracle

CREATE TABLE binary_float_data_type_table
(
col1 BINARY_FLOAT
);

INSERT INTO binary_float_data_type_table VALUES(1.17549E-38F);
INSERT INTO binary_float_data_type_table VALUES(3.40282E+38F);
INSERT INTO binary_float_data_type_table VALUES('NaN');

Snowflake

CREATE OR REPLACE TABLE PUBLIC.binary_float_data_type_table (
col1 FLOAT /*** MSC-WARNING - MSCEWI1036 - BINARY_FLOAT DATA TYPE CONVERTED TO FLOAT ***/);

INSERT INTO PUBLIC.binary_float_data_type_table VALUES(1.17549E-38 /*** MSC-WARNING - MSCINF0010 - SUFFIX REMOVED FROM NUMERIC LITERAL ***/);

INSERT INTO PUBLIC.binary_float_data_type_table VALUES(3.40282E+38 /*** MSC-WARNING - MSCINF0010 - SUFFIX REMOVED FROM NUMERIC LITERAL ***/);

INSERT INTO PUBLIC.binary_float_data_type_table VALUES('NaN');

'NaN' means Not a Number, this value is allowed by theBINARY_FLOAT data type in Oracle and by theFLOATdata type in Snowflake.

BINARY_FLOAT -> FLOAT

Since theBINARY_FLOATdata type is not supported by Snowflake it is being converted to FLOAT.

Oracle

SELECT * FROM binary_float_data_type_table;

Snowflake

SELECT * FROM binary_float_data_type_table;

Known Issues

1. The BINARY_FLOAT data type is not supported by Snowflake

The BINARY_FLOAT data type is converted to FLOAT since it is not supported by Snowflake.

  1. MSCEWI1036: Data type converted to another data type.

Last updated