È sorta una situazione in cui è necessario eseguire una conversione da base 36 a base 10, nel contesto di un'istruzione SQL. Non sembra esserci alcun elemento integrato in Oracle 9 o Oracle 10 per risolvere questo genere di cose. Il mio Google-Fu e AskTom suggeriscono di creare una funzione pl/sql per gestire l'attività. Questa non è un'opzione per me a questo punto. Sto cercando suggerimenti su un approccio da adottare che potrebbe aiutarmi a risolvere questo problema.Conversione da 36 a Base 10 utilizzando solo SQL
Per mettere questo in una forma visiva ...
WITH
Base36Values AS
(
SELECT 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' myBase36 FROM DUAL
),
TestValues AS
(
SELECT '01Z' BASE36_VALUE,
71 BASE10_VALUE FROM DUAL
)
SELECT *
FROM Base36Values,
TestValues
Sto cercando qualcosa per calcolare il valore 71, in base ai contributi 01Z. MODIFICA - che è indietro ... dato 01Z traducilo in 71.
Come tangente, ogni risposta utile ottiene un upvote gratuito.
Grazie
male.
Sono solo curioso (ho sempre voluto trovare una scusa per usare basi diverse per memorizzare i dati); a cosa servono i dati di base 36? –
E sono curioso del motivo per cui questo deve essere fatto in SQL, che non è molto comune. –
Il vantaggio della base 36 è che è possibile utilizzare un dispositivo incorporato che ha una tastiera limitata per fornire input. Quindi, interpretandolo come base36 invece come stringa è più efficiente a causa delle dimensioni e inoltre è possibile calcolarlo utilizzando le funzioni predefinite. – Henri