Em 28 de novembro de 2012 12:35, Anselmo Silva <[email protected]> escreveu:
>> On 28-11-2012 12:13, Anselmo Silva wrote:
>> > gostaria de um retorno boolean para
>> >
>> > SELECT A=B=C=D=E=F=G=H.... é possível numa só declaração SQL sem sem
>> > saber o
>> > numero de elementos?
>> >
>> Seja mais específico... Qual o tipo dos elementos? Quem fornecerá esses
>> elementos? Você montará esta consulta dinamicamente em uma linguagem de
>> programação?
>>
>> world=# SELECT (1 = 2) and (1 <> 3);
>>  ?column?
>> ──────────
>>  f
>> (1 registro)
>>
>
> Os elementos são NUMERIC, os elementos são campos de uma tabela e a consulta
> não é dinâmica. Quero saber se são todos iguais então teorizei o select
> acima citado.
> Eu posso usar sua abordagem, apenas teorizei se era possível outra abordagem
> apenas com operadores '=', já que é 'humanamente' lógico pois qualque
> elemento diferente retornaria Falso.


AFAICS, não faz parte da linguagem SQL esta sintaxe, entretanto o
operador '='  recebe dois parametros
o 'esquerda' e o 'direita', e o PostgreSQL converte isto para algo
como pg_catalog.equal(direita, esquerda)
o que acaba impossibilitando esta sintaxe também para o operador '='

Mas voce pode fazer de outra maneira...

postgres=# select a = ALL(ARRAY[a,b,c])  from (SELECT 1 as a, 2 as b,
3 as c, 1) as x;
 ?column?
----------
 f
(1 row)


postgres=# select a = ALL(ARRAY[a,b,c])  from (SELECT 1 as a, 1 as b,
1 as c, 1) as x;
 ?column?
----------
 t
(1 row)


[]s
-- 
Dickson S. Guedes
mail/xmpp: [email protected] - skype: guediz
http://guedesoft.net - http://www.postgresql.org.br
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a