为什么这个简单的postgresql函数调用不起作用?

时间:2014-11-12 10:24:59

标签: postgresql

即使我尝试了不同的变种,搜索互联网也无法找到解决此问题的方法? 我的函数调用是

select get_byte( md5('key')::text , 0);

不起作用。

根据此http://www.postgresql.org/docs/9.1/static/functions-string.html md5获取字符串输入并生成文本,而get_byte期望字符串输入(http://www.postgresql.org/docs/8.0/static/functions-binarystring.html)。我在这里失踪了什么?错误是HINT: No function matches the given name and argument types. You might need to add explicit type casts.

1 个答案:

答案 0 :(得分:1)

您需要将md5返回值转换为bytea,而不是text

> SELECT get_byte(MD5('key')::bytea, 0);
 get_byte
----------
       51
(1 row)