gpt4 book ai didi

sqlite - 有什么方法可以将整数(十进制形式的 3)转换为 SQLite 中的二进制等效值 11 吗?

转载 作者:行者123 更新时间:2023-12-02 00:42:07 24 4
gpt4 key购买 nike

我知道 Oracle 和 MsSQl 中有可以执行此操作的函数,那么是否有任何函数可以执行此操作,或者有什么方法可以在 sqlite 中对其进行转换?

我的表结构;

  • col1 主键 int
  • col2 not null int <- 我想将此列的值转换为二进制,并对一组二进制组合序列执行一些比较

(我目前采用的方法是将外部数据放入 C# 中的数据表中并在外部进行转换,但这显然是错误的)

最佳答案

下面将为您提供一个查找表,其中包含您想要的所有表示形式。你可以加入这个。

begin;

CREATE TABLE LookUpHours(ID integer primary key, representation text);

insert into LookUpHours (id) values ( 0);
insert into LookUpHours (id) values ( 1);
insert into LookUpHours (id) values ( 2);
insert into LookUpHours (id) values ( 3);
insert into LookUpHours (id) values ( 4);
insert into LookUpHours (id) values ( 5);
insert into LookUpHours (id) values ( 6);
insert into LookUpHours (id) values ( 7);
insert into LookUpHours (id) values ( 8);
insert into LookUpHours (id) values ( 9);
insert into LookUpHours (id) values (10);
insert into LookUpHours (id) values (11);
insert into LookUpHours (id) values (12);
insert into LookUpHours (id) values (13);
insert into LookUpHours (id) values (14);
insert into LookUpHours (id) values (15);
insert into LookUpHours (id) values (16);
insert into LookUpHours (id) values (17);
insert into LookUpHours (id) values (18);
insert into LookUpHours (id) values (19);
insert into LookUpHours (id) values (20);
insert into LookUpHours (id) values (21);
insert into LookUpHours (id) values (22);
insert into LookUpHours (id) values (23);
insert into LookUpHours (id) values (24);
insert into LookUpHours (id) values (25);
insert into LookUpHours (id) values (26);
insert into LookUpHours (id) values (27);
insert into LookUpHours (id) values (28);
insert into LookUpHours (id) values (29);
insert into LookUpHours (id) values (30);
insert into LookUpHours (id) values (31);

update LookUpHours set representation =
case when (id & 16) != 0 then '1' else '0' end ||
case when (id & 8) != 0 then '1' else '0' end ||
case when (id & 4) != 0 then '1' else '0' end ||
case when (id & 2) != 0 then '1' else '0' end ||
case when (id & 1) != 0 then '1' else '0' end
;

commit;

结果表包含以下数据:

ID          representation
---------- --------------
0 00000
1 00001
2 00010
3 00011
4 00100
5 00101
6 00110
7 00111
8 01000
9 01001
10 01010
11 01011
12 01100
13 01101
14 01110
15 01111
16 10000
17 10001
18 10010
19 10011
20 10100
21 10101
22 10110
23 10111
24 11000
25 11001
26 11010
27 11011
28 11100
29 11101
30 11110
31 11111

关于sqlite - 有什么方法可以将整数(十进制形式的 3)转换为 SQLite 中的二进制等效值 11 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2281580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com