您的位置
主页 > 网站技术 > 数据库 > » 正文

Mysql中存储UUID去除横线的方法(2)

来源: 锦尚中国 点击:


DELIMITER $$ 
CREATE FUNCTION `GuidToBinary`( 
    $Data VARCHAR(36) 
) RETURNS binary(16) 
BEGIN
DECLARE $Result BINARY(16) DEFAULT NULL; 
    IF $Data IS NOT NULL THEN
SET $Data = REPLACE($Data,'-',”); 
SET $Result = CONCAT(UNHEX(SUBSTRING($Data,7,2)),UNHEX(SUBSTRING($Data,5,2)),UNHEX(SUBSTRING($Data,3,2)), UNHEX(SUBSTRING($Data,1,2)), 
                UNHEX(SUBSTRING($Data,11,2)),UNHEX(SUBSTRING($Data,9,2)),UNHEX(SUBSTRING($Data,15,2)) , UNHEX(SUBSTRING($Data,13,2)), 
                UNHEX(SUBSTRING($Data,17,16))); 
END IF; 
RETURN $Result; 
END
$$ 
CREATE FUNCTION `ToGuid`( 
    $Data BINARY(16) 
) RETURNS char(36) CHARSET utf8 
BEGIN
DECLARE $Result CHAR(36) DEFAULT NULL; 
    IF $Data IS NOT NULL THEN
SET $Result = CONCAT(HEX(SUBSTRING($Data,4,1)),HEX(SUBSTRING($Data,3,1)),HEX(SUBSTRING($Data,2,1)), HEX(SUBSTRING($Data,1,1)) , ‘-',  
                HEX(SUBSTRING($Data,6,1)),HEX(SUBSTRING($Data,5,1)),'-', 
                HEX(SUBSTRING($Data,8,1)) , HEX(SUBSTRING($Data,7,1)),'-', 
                HEX(SUBSTRING($Data,9,2)),'-',HEX(SUBSTRING($Data,11,6))); 
END IF; 
RETURN $Result; 
END

复制代码 代码如下:




首页  - 关于站长圈  - 广告服务  - 联系我们  - 关于站长圈  - 网站地图  - 版权声明