format_units
Scalar function
Scales raw EVM integer balances by 10^decimals and returns a DECIMAL(38, decimals) value.
Overloads
format_units(UINT256)
Assumes an 18-decimal asset (ETH-style) and formats UINT256 values into human decimals.
Parameters
| Name | Type |
|---|---|
| raw_amount | UINT256 |
Returns
| Name | Type |
|---|---|
| formatted_value | DECIMAL(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
| Name | Type |
|---|---|
| raw_amount | UINT256 |
| decimals | INTEGER |
Returns
| Name | Type |
|---|---|
| formatted_value | DECIMAL(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
| Name | Type |
|---|---|
| raw_amount | INT256 |
Returns
| Name | Type |
|---|---|
| formatted_value | DECIMAL(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
| Name | Type |
|---|---|
| raw_amount | INT256 |
| decimals | INTEGER |
Returns
| Name | Type |
|---|---|
| formatted_value | DECIMAL(38,18) |
1
SELECT format_units(('0x3b9aca00')::int256, 8);
Notebook ready in readonly mode.