创建一个包含静态BIT值的MySQL视图

时间:2015-11-02 21:27:03

标签: mysql sql sql-view

我试图在MySQL 5.6.24中创建一个视图,我需要一个BIT列。我创建视图的表格没有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列?

1 个答案:

答案 0 :(得分:1)

你可以,但你可以创建一个功能

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)