to_char Postgresql 中的函数十六进制格式错误

to_char function hexadecimal formats error in Postgresql

我想在 Postgresql 中使用 to_char 函数,但在执行脚本时出现错误。

Oracle版本可以;

to_char('7374961057827412212','XXXXXXXXXXXXXXXXXXXX') 

result : 66592002042458F4

但是找不到Postgresql的版本,出现这样的错误;

ERROR:  function to_char(text, unknown) does not exist

如果你看一下formatting codes for numbers的table,你会发现不支持X,确实没有办法用[=12=得到十六进制输出].

但是你可以使用 to_hex:

SELECT to_hex(7374961057827412212);

      to_hex      
══════════════════
 66592002042458f4
(1 row)

您看到的错误信息是因为您输入的第一个参数是用单引号引起来的,所以它是一个字符串(数据类型text),但是没有to_char函数将字符串格式化为字符串(它们已经是字符串)。