直接从表中选择,而不是从
dual
SELECT Rawtohex (dbms_obfuscation_toolkit.Md5 (input_string => t.textValue)) AS HEX
FROM your_table t
WHERE t.table_id = some_id;
您的版本得到ORA-01427这一事实表明您将得到多个值,因为
table_id
=>
而不是
in
with your_table (table_id, textvalue) as (
select 42, 'a_text' from dual
union all select 42, 'b_text' from dual
union all select 43, 'c_text' from dual
)
SELECT Rawtohex (dbms_obfuscation_toolkit.Md5 (input_string => t.textValue)) AS HEX
FROM your_table t
WHERE t.table_id = 42;
HEX
--------------------------------
55EA1381DBC9F3CE146B55CC75B28147
CFD9FD9A2BA3FDD917E8CAB4EF644838