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.
| Input | Return value |
|---|---|
| A positive integer | The binary string of that integer. |
| A negative integer | The 64-bit two's complement binary string of that integer. |
0 | 0 |
| null | null |
| A non-integer type | An error. |
Examples
Static values
select bin(0);
-- 0
select bin(null);
-- null
select bin(12);
-- 1100Table 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.
Is this page helpful?