手机
当前位置:查字典教程网 >编程开发 >mysql数据库 >通过sql语句将blob里的char取出来转成数字保存在其它字段
通过sql语句将blob里的char取出来转成数字保存在其它字段
摘要:这个需求是有个表结构,本身设计为但现在需要将blob里地17、18、19三个字段里的数据作为数字保存在blob外新增的三个字段Gem1Gem...

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

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

但现在需要将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是目标进制。

【通过sql语句将blob里的char取出来转成数字保存在其它字段】相关文章:

mysql时间戳转成常用可读时间格式的两种方法

you *might* want to use the less safe log_bin_trust_function_creators variable

MySQL中的运算符使用实例展示

深入Mysql字符集设置 图文版

MySQL服务维护笔记第1/2页

MySQL之Field‘***’doesn’t have a default value错误解决办法

mysql SELECT语句去除某个字段的重复信息

在SQL语句中使用replace替换字符

centos下mysql主从同步快速设置步骤分享

MySQL错误“Specified key was too long; max key length is 1000 bytes”的解决办法

精品推荐
分类导航