相关疑难解决方法(0)

将文本表示中的十六进制转换为十进制数

我试图使用PostgreSQL 9.1将十六进制转换为十进制

使用此查询:

SELECT to_number('DEADBEEF', 'FMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ERROR:  invalid input syntax for type numeric: " "
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

postgresql hex types casting

33
推荐指数
5
解决办法
4万
查看次数

PostgreSQL:将非常大数字的十六进制字符串转换为NUMERIC

我正在尝试将非常大数字的十六进制字符串转换为NUMERIC列

CREATE OR REPLACE FUNCTION hex_to_int(hexval varchar) RETURNS NUMERIC AS $$
DECLARE
   result  NUMERIC;
BEGIN
 EXECUTE 'SELECT x''' || hexval || '''::NUMERIC(40,0)' INTO result;
 RETURN result;
END;
$$
LANGUAGE 'plpgsql' IMMUTABLE STRICT;
Run Code Online (Sandbox Code Playgroud)

在那里我试图这样做:

select hex_to_int(tx.value) from internal_transaction tx
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

[42846] ERROR: cannot cast type bit to numeric Where: PL/pgSQL function hex_to_int(character varying) line 5 at EXECUTE statement
Run Code Online (Sandbox Code Playgroud)

postgresql hex types casting

5
推荐指数
2
解决办法
1039
查看次数

标签 统计

casting ×2

hex ×2

postgresql ×2

types ×2