> > >> > 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) > > A função all realmente resolve e bem é limpa. apenas comentando a resposta do Dickson:
Acha que seria algo interessante a se implementar? Visto que, como posso fazer SELECT A+B+C+D+ETC... seria um Ctrl+C e Ctrl+V no operador de soma (grosseiramente falando hehe). -- Anselmo M. Silva
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
