Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Konwertuj zapisany ciąg md5 na wartość dziesiętną w MySQL

conv() jest ograniczone do 64-bitowych liczb całkowitych. Możesz przekonwertować górną i dolną część na dziesiętną, a następnie dodać je razem:

> select cast(conv(substr("000002dcc38af6f209e91518db3e79d3", 1, 16), 16, 10) as
              decimal(65))*18446744073709551616 +
         cast(conv(substr("000002dcc38af6f209e91518db3e79d3", 17, 16), 16, 10) as
              decimal(65));
58055532535286745202684464101843

Gdzie 18446744073709551616 =2^64. Więc w twoim przypadku:

> select cast(conv(substr(md5_key, 1, 16), 16, 10) as 
              decimal(65))*18446744073709551616 +
         cast(conv(substr(md5_key, 17, 16), 16, 10) as
              decimal(65))
         from bigtable limit 1;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jaka jest różnica między utf8_general_ci a utf8_unicode_ci?

  2. MySQL przy usuwaniu kaskadowym. Przykład testowy

  3. Wszystkie kolumny są ustawione na tę samą wartość

  4. Neo4j - Usuń związek za pomocą Cypher

  5. Jak wykonać kopię zapasową bazy danych Chamilo LMS MySQL