通过sql语句将blob里的char取出来转成数字保存在其它字段

2022-11-12 09:23:10
内容摘要
这篇文章主要为大家详细介绍了通过sql语句将blob里的char取出来转成数字保存在其它字段,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记!
文章正文

这篇文章主要为大家详细介绍了通过sql语句将blob里的char取出来转成数字保存在其它字段,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

这个需求是有个表结构,本身设计为

但现在需要将blob里地17、18、19三个字段里的数据作为数字保存在blob外新增的三个字段Gem1 Gem2 Gem3上。

通过下面的sql语句可以做到:1、增加三个字段:

代码如下:

 
alter table EquipmentInfo add Gem1 TINYINT UNSIGNED default 0; 
alter table EquipmentInfo add Gem2 TINYINT UNSIGNED default 0; 
alter table EquipmentInfo add Gem3 TINYINT UNSIGNED default 0; 
2、使用下面的命令把blob里的数据拷贝出来update EquipmentInfo set Gem1=conv(substr(HEX(EquipmentBlob),17,2),16,10),Gem2=conv(substr(HEX(EquipmentBlob),19,2),16,10),Gem3=conv(substr(HEX(EquipmentBlob),21,2),16,10);说明:HEX(EquipmentBlob) 将EquipmentBlob转成16进制的字符串substr(str,beginIdx,num) 将str从beginIdx开始的字符串截取出来,截取长度为numconv(N,from_base,to_base) N是要转换的数据,from_base是原进制,to_base是目标进制。

注:关于通过sql语句将blob里的char取出来转成数字保存在其它字段的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!