我想在MariaDB视图中添加一个计算列,以返回true/false。然而,无论我做什么以及如何转换它,它的数据类型始终是int。
举个例子,考虑这个观点:
create view Sample
as
select 1 as IsShipped
字符串
当你看这个结构时,它是int
:
x1c 0d1x的数据
现在我想强制该列为布尔值:
alter view Sample
as
select cast(1 as bit) as IsShipped
型
它无法编译。它给我这个错误:
查询错误(1064):在第3行的“bit(1)”附近发现错误,因为IsShipped
如果使用if
:
alter view Sample
as
select if(1,true,false) AS IsShipped
型
它仍然具有int
数据类型。
我应该怎么做?我希望它的数据类型变成bit(1)
。
1条答案
按热度按时间8zzbczxx1#
你不能被咬。
来自docs:
类型可以是以下值之一:
字符串
但是,您可以创建自己的函数cast_to_bit(n):
型
然后你可以像这样改变视图:
型
然后,如果你描述它:
DESCRIBE Sample;
,你会得到:型