Loading

format_units

Scalar function

Scales raw EVM integer balances by 10^decimals and returns a DECIMAL(38, decimals) value.

format_units(UINT256)

Assumes an 18-decimal asset (ETH-style) and formats UINT256 values into human decimals.

Parameters

NameType
raw_amountUINT256

Returns

NameType
formatted_valueDECIMAL(38,18)
1
SELECT format_units('0xde0b6b3a7640000'::uint256); -- 1 ETH
Notebook ready in readonly mode.

format_units(UINT256, INTEGER)

Format arbitrary ERC-20 style UINT256 balances by specifying the on-chain decimals.

Parameters

NameType
raw_amountUINT256
decimalsINTEGER

Returns

NameType
formatted_valueDECIMAL(38,18)
1
SELECT format_units(123000000::uint256, 6); -- 123.000000 USDC
Notebook ready in readonly mode.

format_units(INT256)

Same as the UINT overload but for signed INT256 feeds (e.g., Chainlink oracles).

Parameters

NameType
raw_amountINT256

Returns

NameType
formatted_valueDECIMAL(38,18)
1
SELECT format_units(('0x0de0b6b3a7640000')::int256);
Notebook ready in readonly mode.

format_units(INT256, INTEGER)

Signed INT256 variant with caller-provided decimal precision.

Parameters

NameType
raw_amountINT256
decimalsINTEGER

Returns

NameType
formatted_valueDECIMAL(38,18)
1
SELECT format_units(('0x3b9aca00')::int256, 8);
Notebook ready in readonly mode.