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

Преобразуване от Base 36 в Base 10 само с помощта на SQL

select sum(position_value) from
(
  select power(36,position-1) * case when digit between '0' and '9' 
                                     then to_number(digit)
                                     else 10 + ascii(digit) - ascii('A')
                                end
          as position_value
    from (
          select substr(input_string,length(input_string)+1-level,1) digit, 
                 level position
            from (select '01Z' input_string from dual)
            connect by level <= length(input_string)
         )
)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CASE срещу DECODE

  2. ORA-00604 ORA-12705

  3. WIDTH_BUCKET() Функция в Oracle

  4. Попълване на елемент от дърво с група записи във форми на Oracle

  5. Дата на оракул