小编Wra*_*cko的帖子

Postgresql案例和测试布尔字段

第一:我正在运行postgresql 8.2并在pgAdmin上测试我的查询.

我有一张桌子上有一些字段,说:

mytable(
  id integer,
  mycheck boolean,
  someText varchar(200));
Run Code Online (Sandbox Code Playgroud)

现在,我想要一个类似于此的查询:

 select id,
  case when mycheck then (select name from tableA)
       else (select name from tableB) end as mySpecialName,
  someText;
Run Code Online (Sandbox Code Playgroud)

我试着跑,得到这个:

ERROR: CASE types character varying and boolean cannot be matched
SQL state: 42804
Run Code Online (Sandbox Code Playgroud)

甚至试图愚弄postgresql

case (mycheck::integer) when 0 then
Run Code Online (Sandbox Code Playgroud)

没用.

所以,我的问题是:因为sql没有if,只有大小写,我想如何用布尔字段做一个if?

sql postgresql boolean case

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

boolean ×1

case ×1

postgresql ×1

sql ×1