PostgreSQL-如何将int格式化为hexa



用前导零将int格式化为hexa的最短/最简单的方法是什么?例如,我需要格式化:

| int   | hexa |
|-------|------|
| 0     | 0000 |
| 1     | 0001 |
| 3861  | 0f15 |
| 14908 | 3a3c |

我的查询需要许多这样的转换,我希望用一小段代码代替冗长的代码。只需要处理正数。

我不确定这是最短的路,但至少我找到了一条:

LPAD(TO_HEX(N), 4, '0')

如:

WITH DATA AS (
SELECT 0 AS N
UNION ALL SELECT 1
UNION ALL SELECT 3861
UNION ALL SELECT 14908
)
SELECT LPAD(TO_HEX(N), 4, '0') FROM DATA

最新更新