我正在尝试进行查询并在下面的源代码中停止:
btrim =干净的空间
upper = a - > A.
pcc.mac返回""(null)
pcc.username返回"SIMONE.GISELIA"
btrim(upper(pcc.mac::character varying::text)) <> btrim(upper(pcc.username::text))
Run Code Online (Sandbox Code Playgroud)
如果我把上面的代码,postgres理解为false,但如果我把下面的代码返回true,为什么?
SELECT CASE WHEN '' <> 'SIMONE.GISELIA' THEN true ELSE false end
Run Code Online (Sandbox Code Playgroud)
两个字段都返回不同的文本,结果为false,不应该.(至少我是这么认为的)
我坚持这一点,不知道是做什么的.
我需要比较这些选项,如果没有,源不起作用.
如果有人能帮助我,我会很高兴.
更新控制台来源:
logicasistemas=# SELECT CASE WHEN '' <> 'SIMONE.GISELIA' THEN true ELSE false end;
case
------
t
(1 row)
logicasistemas=# select btrim(upper(pcc.mac::character varying::text)), btrim(upper(pcc.username::text)),
case when ((btrim(upper(pcc.mac::character varying::text))::character varying)::text <> (btrim(upper(pcc.username::text))::character varying)::text) then 1 else 2 end
from provedor_configuracao_cliente pcc
where pcc.cod_servico_contrato = 31905;
btrim | btrim | case
-------+----------------+------ …Run Code Online (Sandbox Code Playgroud)