postgreSQL内部连接位

时间:2014-02-23 15:55:39

标签: sql postgresql

我正在尝试显示当前正在打开的滑雪道,以及当前正在运行的升降机,并提供对这些滑雪道的访问。

SELECT piste_name,lift_name 
FROM pistes 
INNER JOIN lifts ON pistes.piste_name = lifts.lift_name 
WHERE pistes.open = 1 AND lifts.operating = 1;

并且有一个错误说:

  

错误:运算符不存在:位=整数第1行:   ... es.piste_name = lifts.lift_name其中pistes.open = 1和li ...

开放和操作都是位,所以1 =真?

2 个答案:

答案 0 :(得分:1)

将1(整数)转换为位类型:

WHERE pistes.open = 1::bit

答案 1 :(得分:1)

您可以使用Bit string

SELECT piste_name,lift_name 
FROM pistes 
INNER JOIN lifts ON pistes.piste_name = lifts.lift_name 
WHERE pistes.open = B'1' AND lifts.operating = B'1';