在测试PostgreSQL 的md5()
功能时,我注意到非常奇怪的行为:
按预期工作
SELECT md5('abc')
--"900150983cd24fb0d6963f7d28e17f72"
但是在查询中使用 md5() 函数:
SELECT request_id, md5(request_id)
FROM Request
ORDER BY request_id
导致此错误:
ERROR: function md5(integer) does not exist
LINE 1: SELECT request_id, md5(request_id)
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
********** Error **********
ERROR: function md5(integer) does not exist
SQL state: 42883
Hint: No function matches the given name and argument types. You might need to add explicit type casts.
Character: 20
如果该函数在第一个查询中起作用,它怎么可能不存在?我究竟做错了什么; md5()
在 SELECT 查询中使用的正确方法是什么?