sql >> Databasteknik >  >> RDS >> Mysql

CONV() funktion i snöflinga

Jag skrev en UDF för att göra vad CONV() gör. Det fungerar, men tyvärr stöder inte Javascript-variabler numerisk precision för så stor som ditt urval.

Detta kommer att fungera för mindre ingångar, men för din stora Base36-ingång händer följande:

15468921890196183763 --bör vara detta resultat

15468921890196185000 --Infödda JavaScript-variabler har inte den precisionsnivån

Om du tycker att det är användbart för mindre värden att dold från en bas till en annan, här är det:

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)));
$$;



  1. Hur konverterar man rader till kolumner i Oracle?

  2. Prestandaöverväganden för temporär data i Oracle

  3. Utdata Excel-fil i PHP efter eko

  4. Mysql Rekursiv lagrad procedur...Gräns ​​0 uppnått...kan inte ändra variabeln max_sp_recursion_depth