to_char函数十六进制格式错误



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

Oracle版本可以;

to_char('7374961057827412212','XXXXXXXXXXXXXXXXXXXX') 
result : 66592002042458F4

但我找不到Postgresql版本,并采取这样的错误;

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

如果你看的表格格式编码的数字,你会发现X不支持,确实没有办法与to_char十六进制输出。

但是你可以使用to_hex:

SELECT to_hex(7374961057827412212);
to_hex      
══════════════════
66592002042458f4
(1 row)

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