如果使用PostgreSQL或node.js没有行具有特定值,如何返回false?

时间:2015-10-22 09:37:23

标签: javascript sql node.js postgresql select

示例表将是:

P Q
t f
f t
f f

在查询t t时,SQL中有一种方法可以返回false,但如果查询t ff tff,则返回true,或者是否应该使用如果select返回null,那么node.js是一个select然后是if else for吗?

这样做的最佳方式是什么?

2 个答案:

答案 0 :(得分:0)

您可以尝试这样:

SELECT
   CASE P WHEN 't' THEN TRUE ELSE FALSE END,
   CASE Q WHEN 't' THEN TRUE ELSE FALSE END
FROM Your_Table

或使用0,1个insteaf:

SELECT
   CASE P WHEN 't' THEN 1 ELSE 0 END,
   CASE Q WHEN 't' THEN 1 ELSE 0 END
FROM Your_Table

答案 1 :(得分:0)

布尔表达式的结果是......一个布尔值:

CREATE table pq
        ( p boolean NOT NULL
        , q boolean NOT NULL
        );
INSERT INTO pq ( p , q) VALUES
( False, False), ( False, True), ( True, False), ( True, True)
        ;

SELECT p, q
        , (p <> true OR q <> true) as nand
FROM pq
        ;

结果:

CREATE TABLE
INSERT 0 4
 p | q | nand 
---+---+------
 f | f | t
 f | t | t
 t | f | t
 t | t | f
(4 rows)