MySQL提供了字符串轉(zhuǎn)換為十六進(jìn)制的函數(shù),可以將字符串轉(zhuǎn)換為十六進(jìn)制字符串表示。
SELECT HEX('hello'); //結(jié)果為: 68656C6C6F
HEX函數(shù)可以接受一個(gè)字符串,返回該字符串各個(gè)字符的十六進(jìn)制ASCII碼的組合。
SELECT HEX('中文'); //結(jié)果為: E4B8ADE69687
當(dāng)字符串中包含二進(jìn)制數(shù)據(jù)時(shí),可以使用UNHEX函數(shù)將十六進(jìn)制字符串轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)。
SELECT UNHEX('68656C6C6F'); //結(jié)果為: hello
如果轉(zhuǎn)換失敗,MySQL將返回NULL。
SELECT UNHEX('hello'); //結(jié)果為: NULL
如果需要將數(shù)據(jù)存儲(chǔ)為十六進(jìn)制字符串,可以使用BINARY類型。
CREATE TABLE test ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, data BINARY(16) NOT NULL ); INSERT INTO test (data) VALUES (UNHEX('68656C6C6F')); SELECT HEX(data) FROM test; //結(jié)果為: 68656C6C6F
以上就是MySQL字符串轉(zhuǎn)換為十六進(jìn)制的相關(guān)介紹。