服务器之家

服务器之家 > 正文

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

时间:2019-11-24 17:59     来源/作者:SQL教程网

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

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

但现在需要将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开始的字符串截取出来,截取长度为num 
conv(N,from_base,to_base) N是要转换的数据,from_base是原进制,to_base是目标进制。

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
运维必须知道的关于云服务器的十个问题
运维必须知道的关于云服务器的十个问题 2019-05-24
返回顶部