2015-11-02 69 views
1

我試圖在MySQL 5.6.24中創建一個視圖,我需要一個BIT列。我創建視圖的表格沒有BIT列。然而創建一個包含靜態BIT值的MySQL視圖

create view聲明是這樣的,

create view my_view as select id, version, description, 
    b'1' as active from my_table; 

視圖中創建activeVARBINARY類型。

我也試過(1) as active它產生INTtrue as active也創建INT

有沒有辦法在這樣的視圖中創建BIT列?

+0

你的意思是位列或布爾? –

+0

對不起@JuanCarlosOropeza我沒有意識到這個問題是相關的。 – wsams

+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) 
相關問題