Mysql
 sql >> база данни >  >> RDS >> Mysql

CONV() функция в снежинка

Написах UDF да прави това, което прави CONV(). Работи, но за съжаление променливите на Javascript не поддържат числова прецизност за толкова голяма, колкото вашата извадка.

Това ще работи за по-малки входове, но за вашия голям Base36 вход се случва следното:

15468921890196183763 --трябва да е този резултат

15468921890196185000 --Променливите на Javascript нямат това ниво на точност

В случай, че намирате за полезно по-малките стойности да се скриват от една база в друга, ето го:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python Mysql, команди не са синхронизирани; не можете да изпълните тази команда сега

  2. Без значение какво, не мога да пакетирам MySQL INSERT оператори в Hibernate

  3. Разлика между mysql_fetch_array и mysql_fetch_row?

  4. Методът не е намерен в клас

  5. Пагинация в PDO PHP