通过sql语句将blob里的char取出来转成数字保存在其它字段_MySQL
Jun 01, 2016 pm 01:22 PMbitsCN.com
这个需求是有个表结构,本身设计为
但现在需要将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是目标进制。

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Cara menggunakan fungsi iif dalam excel

Bagaimana untuk menanyakan log pangkalan data oracle

Bagaimana untuk menggunakan pernyataan sql untuk menanyakan struktur penyimpanan pangkalan data mysql

Bagaimana untuk menyelesaikan kegagalan permulaan pangkalan data mysql

Bagaimana untuk mengeksport data yang ditanya dalam navicat

Bagaimana untuk melaksanakan pernyataan sql dalam pangkalan data mysql

Pemprosesan transaksi MySQL: perbezaan antara penyerahan automatik dan penyerahan manual
