BIN

Updated at:

Returns the binary string representation of an integer.

BIN is a MaxCompute V2.0 function. To use it, run the following session-level setting before your query:

set odps.sql.type.system.odps2=true;

Syntax

string bin(<number>)

Arguments

number: Required. A value of the BIGINT, INT, SMALLINT, or TINYINT type.

Return value

Returns a value of the STRING type.

InputReturn value
A positive integerThe binary string of that integer.
A negative integerThe 64-bit two's complement binary string of that integer.
00
nullnull
A non-integer typeAn error.

Examples

Static values

select bin(0);
-- 0

select bin(null);
-- null

select bin(12);
-- 1100

Table data

The following example computes the binary representation of values in the int_data and bigint_data columns of the mf_math_fun_t table.

Set up the sample table:

create table if not exists mf_math_fun_t(
    int_data     int,
    bigint_data  bigint,
    double_data  double,
    decimal_data decimal,
    float_data   float,
    string_data  string
);
insert into mf_math_fun_t values
(null, -10, 0.525, 0.525BD, cast(0.525 as float), '10'),
(-20, null, -0.1, -0.1BD, cast(-0.1 as float), '-10'),
(0, -1, null, 20.45BD, cast(-1 as float), '30'),
(-40, 4, 0.89, null, cast(0.89 as float), '-30'),
(5, -50, -1, -1BD, null, '50'),
(-60, 6, 1.5, 1.5BD, cast(1.5 as float), '-50'),
(-1, -70, -7.5, -7.5BD, cast(-7.5 as float), null),
(-80, 1, -10.2, -10.2BD, cast(-10.2 as float), '-1'),
(9, -90, 2.58, 2.58BD, cast(2.58 as float), '0'),
(-100, 10, -5.8, -5.8BD, cast(-5.8 as float), '-90');

Query:

set odps.sql.type.system.odps2=true;
select bin(int_data) as int_new, bin(bigint_data) as bigint_new from mf_math_fun_t;

Result:

+----------------------------------------------------------------------------+------------------------------------------------------------------+
| int_new                                                                    | bigint_new                                                       |
+----------------------------------------------------------------------------+------------------------------------------------------------------+
| NULL                                                                       | 1111111111111111111111111111111111111111111111111111111111110110 |
| 1111111111111111111111111111111111111111111111111111111111101100           | NULL                                                             |
| 0                                                                          | 1111111111111111111111111111111111111111111111111111111111111111 |
| 1111111111111111111111111111111111111111111111111111111111011000           | 100                                                              |
| 101                                                                        | 1111111111111111111111111111111111111111111111111111111111001110 |
| 1111111111111111111111111111111111111111111111111111111111000100           | 110                                                              |
| 1111111111111111111111111111111111111111111111111111111111111111           | 1111111111111111111111111111111111111111111111111111111110111010 |
| 1111111111111111111111111111111111111111111111111111111110110000           | 1                                                                |
| 1001                                                                       | 1111111111111111111111111111111111111111111111111111111110100110 |
| 1111111111111111111111111111111111111111111111111111111110011100           | 1010                                                             |
+----------------------------------------------------------------------------+------------------------------------------------------------------+

Related functions

BIN is a mathematical function. For more information about functions related to data computing and conversion, see Mathematical functions.