为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: 8
【操作系统】:
【CPU】:
【问题描述】*:
在MySQL中有如下表
CREATE TABLE test_bit
(
id VARCHAR(100) NOT NULL,
bit1 BIT(1) NOT NULL,
bit4 BIT(4) NOT NULL
);
INSERT INTO test_bit(id, bit1, bit4) VALUES (1, 1, 1);
INSERT INTO test_bit(id, bit1, bit4) VALUES (1, 0, 15);
INSERT INTO test_bit(id, bit1, bit4) VALUES (1, 0, 9);
SELECT * FROM test_bit
+--+-----+----+
|id|bit1 |bit4|
+--+-----+----+
|1 |true |0001|
|1 |false|1111|
|1 |false|1001|
+--+-----+----+
同样的内容,在达梦中创建会变成这样
# 指定bit的精度会报错
CREATE TABLE test_bit
(
id VARCHAR(100) NOT NULL,
bit1 BIT NOT NULL,
bit4 BIT(4) NOT NULL
);
# 不指定bit的精度又只能展示一位
CREATE TABLE test_bit
(
id VARCHAR(100) NOT NULL,
bit1 BIT NOT NULL,
bit4 BIT NOT NULL
);
INSERT INTO test_bit(id, bit1, bit4) VALUES (1, 1, 1);
INSERT INTO test_bit(id, bit1, bit4) VALUES (1, 0, 15);
INSERT INTO test_bit(id, bit1, bit4) VALUES (1, 0, 9);
SELECT * FROM test_bit
+--+-----+----+
|id|bit1 |bit4|
+--+-----+----+
|1 |true |true|
|1 |false|true|
|1 |false|true|
+--+-----+----+
如果使用达梦迁移工具的话,是可以看到能创建BIT(3)的类型的,但手动无法创建。
如何在 在不使用达梦迁移工具 的情况下要手动在达梦数据库创建对应BIT(4)类型并使用呢?
达梦 BIT型用于存储整数数据 1、0 或 NULL,只有 0 才转换为假,其他非空、非0 值都会自动转换为真。达梦好像目前没有《十进制转二进制》的函数,建议转换后,保存。