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

2023年 4月 21日 48.0k 0

这个需求是有个表结构,本身设计为 但现在需要将blob里地17、18、19三个字段里的数据作为数字保存在blob外新增的三个字段Gem1 Gem2 Gem3上。 通过下面的sql语句可以做到: 1、增加三个字

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

image

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

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论