示例表将是:
P Q
t f
f t
f f
在查询t t
时,SQL中有一种方法可以返回false,但如果查询t f
,f t
或ff
,则返回true,或者是否应该使用如果select返回null,那么node.js是一个select然后是if else for吗?
这样做的最佳方式是什么?
答案 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)