chuyển đổi () được giới hạn ở các số nguyên 64 bit. Bạn có thể chuyển đổi phần cao và phần thấp thành số thập phân, sau đó cộng chúng lại với nhau:
> 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
Trong đó 18446744073709551616 =2 ^ 64. Vì vậy, trong trường hợp của bạn:
> 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;