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
