添加" SI或NO"在布尔字段中

时间:2016-03-12 13:30:01

标签: sql database boolean

我必须在布尔字段中存储单词" 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
);

3 个答案:

答案 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));