Saya menulis UDF untuk melakukan apa yang dilakukan CONV(). Ini berfungsi, tetapi sayangnya variabel Javascript tidak mendukung presisi numerik sebesar sampel Anda.
Ini akan berfungsi untuk input yang lebih kecil, tetapi untuk input Base36 besar Anda, hal berikut terjadi:
15468921890196183763 --seharusnya hasil ini
15468921890196185000 --Variabel asli JavaScript tidak memiliki tingkat presisi tersebut
Jika Anda merasa berguna untuk nilai yang lebih kecil untuk disembunyikan dari satu basis ke basis lainnya, ini dia:
create or replace function CONV(VALUE_IN string, OLD_BASE float, NEW_BASE float)
returns string
language javascript
as
$$
// Usage note: Loses precision for very large inputs
return parseInt(VALUE_IN, Math.floor(OLD_BASE).toString(Math.floor(NEW_BASE)));
$$;