创建包含静态 BIT 值的 MySQL 视图
Create a MySQL view that contains a static BIT value
我正在尝试在 MySQL 5.6.24 中创建一个视图,我需要一个 BIT
列。我正在创建视图的 table 没有 BIT
列。
我的create view
声明是这样的,
create view my_view as select id, version, description,
b'1' as active from my_table;
视图已创建,但 active
字段的类型为 VARBINARY
。
我也试过 (1) as active
生成 INT
。 true as active
还会创建一个 INT
.
有没有办法在这样的视图中创建 BIT
列?
你不能,但你可以创建一个函数
CREATE FUNCTION cast_to_bit (N INT) RETURNS bit(1)
BEGIN
RETURN N;
END
CREATE VIEW view_bit AS
SELECT
cast_to_bit(0),
cast_to_bit(1),
cast_to_bit(FALSE),
cast_to_bit(TRUE),
cast_to_bit(b'0'),
cast_to_bit(b'1'),
cast_to_bit(2=3),
cast_to_bit(2=2)
我正在尝试在 MySQL 5.6.24 中创建一个视图,我需要一个 BIT
列。我正在创建视图的 table 没有 BIT
列。
我的create view
声明是这样的,
create view my_view as select id, version, description,
b'1' as active from my_table;
视图已创建,但 active
字段的类型为 VARBINARY
。
我也试过 (1) as active
生成 INT
。 true as active
还会创建一个 INT
.
有没有办法在这样的视图中创建 BIT
列?
你不能,但你可以创建一个函数
CREATE FUNCTION cast_to_bit (N INT) RETURNS bit(1)
BEGIN
RETURN N;
END
CREATE VIEW view_bit AS
SELECT
cast_to_bit(0),
cast_to_bit(1),
cast_to_bit(FALSE),
cast_to_bit(TRUE),
cast_to_bit(b'0'),
cast_to_bit(b'1'),
cast_to_bit(2=3),
cast_to_bit(2=2)