Ho riscontrato un problema con la creazione di una riga 1 in una selezione in un database Oracle. L'ho fatto in MSSQL come segue:Creazione di uno sha1-hash di una riga in Oracle
SELECT *,HASHBYTES('SHA1',CAST(ID as varchar(10)+
TextEntry1+TextEntry2+CAST(Timestamp as varchar(10)) as Hash
FROM dbo.ExampleTable
WHERE ID = [foo]
Tuttavia, non riesco a trovare una funzione simile da utilizzare quando si lavora con Oracle. Per quanto mi riguarda, credo che dbms_crypto.hash_sh1 abbia qualcosa a che fare con esso, ma non sono ancora riuscito a circondarmi ...
Qualsiasi suggerimento sarebbe molto apprezzato.
Grazie per l'aiuto. Ho dovuto usare il valore dbms_crypto.hash_sh1 sta per (il numero intero 3) invece della costante per farlo funzionare quando si esegue un normale SQL. SELECT sys.dbms_crypto.hash (utl_raw.cast_to_raw (col1), 3) FROM t; – PrometheusDrake
Non penso che sia esattamente corretto per 11g R2. 'dbms_crypto.hash' sembra avere 3 versioni sovraccaricate per' raw', 'blob' e' clob'. Il valore 'varchar2' deve essere esplicitamente convertito in' raw' con 'utl_i18n.string_to_raw' o' utl_raw.cast_to_raw'. Oppure usa 'clobs' per i dati dei caratteri. – user272735
Cosa succede se ci sono alcune colonne che non hanno il tipo di dati stringa? – ca9163d9