我试图在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
,产生INT
。 true as active
也会创建INT
。
有没有办法在像这样的视图中创建BIT
列?
答案 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)