创建包含静态 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 生成 INTtrue 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)