美好的一天!
我有一个带有二进制列C1的表T1(在MariaDB中)。 它有一些字节。

当我选择十六进制时,我有以下内容:

select HEX(SUBSTRING((select C1 from T1 where <some restrictions>), 254, 2));
+----------------------------------------------------------------------+
| HEX(SUBSTRING((select C1 from T1 where <some restrictions>), 254, 2)) |
+----------------------------------------------------------------------+
| 1200                                                                 |
+----------------------------------------------------------------------+

但我未能将结果转换为INT:

select cast((SUBSTRING((select C1 from T1 where <some restrictions>), 254, 2)) as int);
+--------------------------------------------------------------------------------+
| cast((SUBSTRING((select C1 from T1 where <some restrictions>), 254, 2)) as int) |
+--------------------------------------------------------------------------------+
|                                                                              0 |
+--------------------------------------------------------------------------------+

所以,我的问题是-为什么会发生,如何将二进制转换为int?

===============>>#1 票数:0

类型为: 无符号整数或有符号整数

select cast((substring((select C1 from T1 where <some restrictions>), 254, 2)) as unsigned integer);

select cast(substring( '12345', 1, 2 ) as unsigned integer) 

  ask by V. Artyukhov translate from so

未解决问题?本站智能推荐:

1回复

自动清除mariadb二进制日志

我在主从环境中使用两个mariadb-server(v 10.0.17)。 我不时要清除主设备上已经被从设备提取的“旧”二进制日志。 如果在mariadb中有一个隐藏设置来自动清除这些二进制日志,我会更加干净。 我认为主人知道奴隶的数量和日志每个奴隶达到的位置。 一方面它非常有用
2回复

CHAR(n)如何用二进制表示其数据?

我目前正在阅读罗宾·尼克松(Robin Nixon)的《 学习PHP,MySQL和JavaScript》一书。 特别是有关使用MySQL的数据库的章节。 这是我正在努力彻底理解的主题。 “但是,year字段具有更可预测的值,因此,我们使用更有效的CHAR(4)数据类型来代替VARCHA
1回复

在MariaDB中,放置在触发器中的函数启动时将返回不同的值

有这样的表和功能: 插入正常工作: 只需创建一个触发器: 并在表中获得一半的截断值: 此触发器有什么问题? 软件版本为: 适用于x86上Win64的5.5.33a-MariaDB版本(mariadb.org二进制分发版)
1回复

如何在varbinary列的第N个字节上执行二进制操作?

我已经能够使用substring(colname, N, 1)字段中获取第N个字节,但是到那时,似乎无法将结果视为二进制了: 相比: 我最终想要得到的是这样的:
3回复

在MySQL / MariaDB中将CHAR主键转换为INT

我有一个使用CHAR作为客户主键的表。 我试图将此表加载到架构中,以便主键应为INT 。 小提琴 我已经尝试select cast(customer_id AS UNSIGNED) FROM customers; 但对于非整数行,仅返回0。 如何将非整数行转换为一致的INT结
2回复

在MySQL中将十六进制转换为二进制

目前我搜索MySQL中的一个函数来进行十六进制字符串到二进制表示之间的转换,例如: 我已经尝试过了 但没有得到我想要的结果。
1回复

如何在mariadb中将整数转换为二进制

我在mariadb中遇到了强制转换功能。 使用相同的查询,但结果在sql server和mariadb是不同的。 在sql server中: 在mariadb: 我不明白。 请帮我解释和建议解决方案。
1回复

将javascript值转换为二进制以放入mysql

我的mysql表中有一列类型为binary ( password )的列。 在我的对象内: 对象中的每个值都是一个string 。 如何将password值转换为二进制值以放入mysql行?
2回复

将Little Endian二进制转换为Double

我试图对我的数据如何存储在MySQL / MariaDB中做一个简单的证明。 本质上,它是一个小端的二进制字符串,表示我在软件中记录的数值。 但是,我在使用SELECT的情况下仍在挣扎,我要在select内执行转换以返回正确的结果。 通常,使用我目前在CAST和CONVERT中尝试过的
2回复

如何使用slick和mariadb将Array [Byte]插入二进制数据类型列?

我试图使用scala将Array [Byte]插入二进制数据类型colunm,并在MariaDB上播放框架和代码。 但是,我收到此错误,并且未插入数据。 数据是使用java.util.UUID的UUID。 UUID到Array [Byte]的转换是由UUIDHelper.scala