我的表有BLOB字段,包含7200个字节。
CREATE TABLE `data`
(
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`metric_id` int(11) DEFAULT NULL,
`ts` date DEFAULT NULL,
`values` mediumblob,
PRIMARY KEY (`id`)
)
我用它来存储一小时内每秒收集的一些值,以减少大数据库中的行数。在我的应用程序中,一切都很好用,它在C#中处理我的BLOB-s,但我在查询MySQL查询中的数据时遇到了问题。
例如 - 我想选择前2个字节并将它们(在MySQL Workbench中)显示为无符号整数。
我该怎么做?
到目前为止,我已经尝试过这个:
SELECT *, cast(substring(`values`, 1, 2) as INTEGER) FROM gs.data limit 10
和此:
SELECT *, convert(substring(`values`, 1, 2), INTEGER) FROM gs.data limit 10
但它总是返回0.
答案 0 :(得分:0)
假设列 c1
是 BLOB
类型,其中数据存储为 HEX
。
以下 sql 会将 c1
从 BLOB
类型转换为 INT
。
select CONV(HEX(c1), 16, 10) from table_name;