我必须在布尔字段中存储单词" SI或NO" (西班牙语的肯定和否定)。但我只能使用这些:
TRUE: '吨' '真正的' ' Y' '是' '上' ' 1'
FALSE: ' F' '假' ' N' '无' '关闭' ' 0'
create table sales
(
code varchar(3),
sold boolean,
CONSTRAINT pk_codesale PRIMARY KEY (code)
);
我试试:
insert into sales(code, sold)
values('001','SI');
编辑:
基于Python的帖子:
我尝试了这段代码(基于AlexT82):
insert into sales(code, sold)
(SELECT '001',CASE
WHEN 'FILLHERE' ='SI' THEN 't'
ELSE 'f' END
);
答案 0 :(得分:2)
你可以这样做:
insert into sales(code, sold)
(SELECT '001',CASE
WHEN 'FILLHERE' ='SI' THEN 1
ELSE 0 END
);
在“FILLHERE”部分中填写您填写“SI”或“NO”的文本。
答案 1 :(得分:0)
我尝试了这段代码:
insert into sales(code, sold)
(
SELECT '001',CASE
WHEN 'FILLHERE' ='SI' THEN 't'
ELSE 'f' END
);
答案 2 :(得分:0)
由于错误消息表明您需要将CASE CAST到BOOLEAN:
insert into sales(code, sold)
values('001',cast(case when myVariable = 'NO' then 0 else 1 end as boolean));