Re: [pgbr-geral] ORDER BY errado

2016-12-29 Por tôpico Matheus de Oliveira
2016-12-15 14:56 GMT-02:00 Sebastian Webber :

> Dá uma olhada nesse post[1] e depois me comenta as configurações de
> collate.
>
> [1] http://swebber.me/blog/2013/05/16/corrigindo-
> problema-ordenacao-postgresql-rhel6/
>

Ao fazer isso é necessário executar um REINDEX de todos os índices que usam
esse COLLATE (basicamente todos os tipos textuais, a não ser que usem
explicitamente outro COLLATE), se não pode trazer resultados incorretos em
alguns casos.

Acho que seria bom adicionar essa informação no post, Seba.

Atenciosamente,
-- 
Matheus de Oliveira
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] ORDER BY errado

2016-12-28 Por tôpico Euler Taveira
On 15-12-2016 19:37, Arthur Nascimento wrote:
> Mas ele também dá diversos parâmetros para customizarmos os resultados.
> Por exemplo, as variantes "shifted" e "noignore" devem resolver a
> questão. Infelizmente o Postgres não nos dá acesso a nenhuma variante,
> então teste pela linha de comando colocando um arquivo de texto com
> aqueles nomes e ordenando:
> 
O problema é que a glibc não suporta as variantes; e o postgres usa a
glibc para ordenação.

> % LC_COLLATE=pt_BR-ka-shifted sort  
Isso que você listou, na verdade, é o efeito do collate C, que é usado
caso LC_COLLATE seja inválido (pt_BR-ka-shifted não é um locale válido).

> Infelizmente hoje em dia todos esses comandos (especialmente o último
> por diversas razões) vão falhar no Postgres porque ele não sabe lidar
> com variantes de locales.
> 
Isso só será resolvido se (i) a glibc suportar variantes ou (ii) ICU for
suportado no postgres.

A melhor solução atual ainda é editar o locale e fazer as mudanças
desejadas (como sugerido pelo Sebastian).


-- 
   Euler Taveira   Timbira - http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] ORDER BY errado

2016-12-15 Por tôpico Arthur Nascimento
>
> Ou:
> alter collation "pt_BR" set variant to 'shifted';
>

Pensando melhor, esqueça o alter, que era uma péssima ideia por várias
razões, e considere algo como:
create database foobar lc_collate = "pt_BR-ka-shifted.UTF8" template
"template0";

Aí sim faria sentido.
-- 

Arthur Nascimento - tureba
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] ORDER BY errado

2016-12-15 Por tôpico Arthur Nascimento
>
> Alguém sabe porque o comportamento natural deste encoding já não é este?



O padrão Unicode estabelece inicialmente que espaços e pontuação têm esse
comportamento nas comparações [1] em todas as línguas - não só no
português. Teste com outras línguas e vai ver o mesmo resultado:
select * from teste2 order by nome collate "en_US";

Mas ele também dá diversos parâmetros para customizarmos os resultados. Por
exemplo, as variantes "shifted" e "noignore" devem resolver a questão.
Infelizmente o Postgres não nos dá acesso a nenhuma variante, então teste
pela linha de comando colocando um arquivo de texto com aqueles nomes e
ordenando:


% LC_COLLATE=pt_BR sort http://unicode.org/reports/tr10/
[2] http://unicode.org/faq/collation.html
[3] http://unicode.org/reports/tr35/tr35-collation.html

[4] http://unicode.org/reports/tr35/

Até mais,
-- 

Arthur Nascimento - tureba
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] ORDER BY errado

2016-12-15 Por tôpico Alexsandro Haag

Em 15/12/2016 16:21, Rogerio Bassete escreveu:

Dessa forma tem dois problemas:
1) Alterar a forma como faço os SELECT; sim, altera.
Sim, é preciso acrescentar mais uma instrução no select (não ansi, creio 
eu).

2) Não funciona com português.
Sim os caracteres especiais como acentuação, cedilha, etc, ficam fora da 
ordenação.


Sem dúvida a solução que você propôs é definitiva e melhor. ;)

Alguém sabe porque o comportamento natural deste encoding já não é este?

Att.
Alex
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] ORDER BY errado

2016-12-15 Por tôpico Rogerio Bassete
> SELECT encode(nome::bytea,'base64'),nome
> FROM teste2
> WHERE nome LIKE 'RAF%'
> ORDER BY nome
> collate "C"

Dessa forma tem dois problemas:
1) Alterar a forma como faço os SELECT;
2) Não funciona com português.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] ORDER BY errado

2016-12-15 Por tôpico Rogerio Bassete
> Dá uma olhada nesse post[1] e depois me comenta as configurações de collate.
>
> [1]
> http://swebber.me/blog/2013/05/16/corrigindo-problema-ordenacao-postgresql-rhel6/

Sucesso! Muito obrigado!
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] ORDER BY errado

2016-12-15 Por tôpico Alexsandro Haag

Em 15/12/2016 14:33, Rogerio Bassete escreveu:

Olá,

Estou com um conjunto de registros que não ordena corretamente, já testei:
- em banco de dados com encoding LATIN1, UTF-8;
- Com PostgreSQL 9.1 e 9.3;

Convertendo a string em 'hex', 'escape' ou 'base64', os caracteres são
os mesmos;


Olá Rogério,
 tente assim...

SELECT encode(nome::bytea,'base64'),nome
FROM teste2
WHERE nome LIKE 'RAF%'
ORDER BY nome
collate "C"

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] ORDER BY errado

2016-12-15 Por tôpico Sebastian Webber
2016-12-15 14:33 GMT-02:00 Rogerio Bassete :

> Olá,
>
> Estou com um conjunto de registros que não ordena corretamente, já testei:
> - em banco de dados com encoding LATIN1, UTF-8;
> - Com PostgreSQL 9.1 e 9.3;
>

Dá uma olhada nesse post[1] e depois me comenta as configurações de collate.

[1]
http://swebber.me/blog/2013/05/16/corrigindo-problema-ordenacao-postgresql-rhel6/

-- 
Sebastian Webber
http://swebber.me
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] order by nulls first

2014-07-04 Por tôpico Matheus de Oliveira
2014-07-04 19:19 GMT-03:00 Luiz Rafael Culik l...@xharbour.com.br:

 E recomendado utilizar no order by nulls first, ou tem uma forma melhor de
 colocar os nulls no inicio do result set ?


NULLS { FIRST | LAST } está no padrão SQL, então se é o que você quer, tudo
bem usar.

Agora, exite um possível problema de performance. Quando uma consulta tem
NULLS FIRST, o PostgreSQL não irá conseguir usar índices comuns que
casariam para fazer a ordenação. Agora, é possível usar índices definidos
com NULLS FIRST também, exemplo:

CREATE INDEX ... ON ... (foo NULLS FIRST);

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Order By

2011-12-13 Por tôpico Alexandre
Bom Dia Pessoal

Acho que me expressei mal 
O Like está retornando exatamente o que eu quero... o problema é a ordenação do 
resultado, já que aparece meia, depois meiao e depois volta a mostrar meia.

O que será que pode estar acontecendo??

Grato pela ajuda de todos

Alexandre


From: Alexandre 
Sent: Monday, December 12, 2011 6:48 PM
To: pgbr-geral@listas.postgresql.org.br 
Subject: [pgbr-geral] Order By

Boa Tarde Pessoal

Estou com o seguinte problema. Possuo uma tabela de produtos, e quero que 
ela me retorne os produtos que contenham o descrição ‘MEIA’,  ordenado pela 
descrição.

Select * from Produtos where descricao like ‘MEIA%’ order by descricao.

Porém o postgres está me retornando a palavra MEIAO no meio de palavras com 
espaço..

Ex: MEIA OLYMPIKUS OIAC0012  
  MEIAO PENALTY BRASIL 70 OF11 4107081110
  MEIA PALMILHA BONTON GEL 131 P1201005NO   

Alguem Já Passou por esse problema???   

Gratos Pela Atenção

Alexandre Martinasso.



___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral





Nenhum vírus encontrado nessa mensagem.
Verificado por AVG - www.avgbrasil.com.br
Versão: 2012.0.1873 / Banco de dados de vírus: 2102/4676 - Data de Lançamento: 
12/12/11
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Order By

2011-12-13 Por tôpico Danilo Silva
Em 13 de dezembro de 2011 07:46, Alexandre
alexan...@setadigital.com.brescreveu:

   Bom Dia Pessoal

 Acho que me expressei mal
 O Like está retornando exatamente o que eu quero... o problema é a
 ordenação do resultado, já que aparece meia, depois meiao e depois volta a
 mostrar meia.

 O que será que pode estar acontecendo??


Pessoal, isso está relacionado a collation e/ou encoding?

Alexandre, como está definido o seu collation e encoding, qual versão está
usando?


 Grato pela ajuda de todos

 Alexandre


  *From:* Alexandre alexan...@setadigital.com.br
 *Sent:* Monday, December 12, 2011 6:48 PM
 *To:* pgbr-geral@listas.postgresql.org.br
 *Subject:* [pgbr-geral] Order By

   Boa Tarde Pessoal

 Estou com o seguinte problema. Possuo uma tabela de produtos, e quero
 que ela me retorne os produtos que contenham o descrição ‘MEIA’,  ordenado
 pela descrição.

 *Select * from Produtos where descricao like ‘MEIA%’ order by descricao.*

 Porém o postgres está me retornando a palavra MEIAO no meio de palavras
 com espaço..

 Ex: MEIA OLYMPIKUS OIAC0012
   MEIAO PENALTY BRASIL 70 OF11 4107081110
   MEIA PALMILHA BONTON GEL 131 P1201005NO

 Alguem Já Passou por esse problema???

 Gratos Pela Atenção

 Alexandre Martinasso.

 --
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

 --

 Nenhum vírus encontrado nessa mensagem.
 Verificado por AVG - www.avgbrasil.com.br
 Versão: 2012.0.1873 / Banco de dados de vírus: 2102/4676 - Data de
 Lançamento: 12/12/11

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Order By

2011-12-13 Por tôpico Alexandre
Bom Dia Danilo..

o Encoding é UTF-8...
o lc_Collation e o lc_cType é pt_BR.UTF-8

o Banco é Versão 8.3.9.

From: Danilo Silva 
Sent: Tuesday, December 13, 2011 8:03 AM
To: Comunidade PostgreSQL Brasileira 
Subject: Re: [pgbr-geral] Order By


Em 13 de dezembro de 2011 07:46, Alexandre alexan...@setadigital.com.br 
escreveu:

  Bom Dia Pessoal

  Acho que me expressei mal 
  O Like está retornando exatamente o que eu quero... o problema é a ordenação 
do resultado, já que aparece meia, depois meiao e depois volta a mostrar 
meia.

  O que será que pode estar acontecendo??

Pessoal, isso está relacionado a collation e/ou encoding?

Alexandre, como está definido o seu collation e encoding, qual versão está 
usando? 


  Grato pela ajuda de todos

  Alexandre


  From: Alexandre 
  Sent: Monday, December 12, 2011 6:48 PM
  To: pgbr-geral@listas.postgresql.org.br 
  Subject: [pgbr-geral] Order By

  Boa Tarde Pessoal

  Estou com o seguinte problema. Possuo uma tabela de produtos, e quero que 
ela me retorne os produtos que contenham o descrição ‘MEIA’,  ordenado pela 
descrição.

  Select * from Produtos where descricao like ‘MEIA%’ order by descricao.

  Porém o postgres está me retornando a palavra MEIAO no meio de palavras com 
espaço..

  Ex: MEIA OLYMPIKUS OIAC0012  
MEIAO PENALTY BRASIL 70 OF11 4107081110
MEIA PALMILHA BONTON GEL 131 P1201005NO   

  Alguem Já Passou por esse problema???   

  Gratos Pela Atenção

  Alexandre Martinasso.

--

  ___
  pgbr-geral mailing list
  pgbr-geral@listas.postgresql.org.br
  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


--

  Nenhum vírus encontrado nessa mensagem.
  Verificado por AVG - www.avgbrasil.com.br
  Versão: 2012.0.1873 / Banco de dados de vírus: 2102/4676 - Data de 
Lançamento: 12/12/11


  ___
  pgbr-geral mailing list
  pgbr-geral@listas.postgresql.org.br
  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral







___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral





Nenhum vírus encontrado nessa mensagem.
Verificado por AVG - www.avgbrasil.com.br
Versão: 2012.0.1873 / Banco de dados de vírus: 2102/4676 - Data de Lançamento: 
12/12/11
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Order By

2011-12-13 Por tôpico Alexandre
Osvaldo... Estudando o link que você me passou deu certo... modifiquei as 
configurações do servidor e funcionou

Obrigado Pela ajuda de todos...

-Mensagem Original- 
From: Osvaldo Kussama
Sent: Tuesday, December 13, 2011 11:34 AM
To: Comunidade PostgreSQL Brasileira
Subject: Re: [pgbr-geral] Order By

Em 13 de dezembro de 2011 07:46, Alexandre
alexan...@setadigital.com.br escreveu:
 Bom Dia Pessoal

 Acho que me expressei mal
 O Like está retornando exatamente o que eu quero... o problema é a 
 ordenação
 do resultado, já que aparece meia, depois meiao e depois volta a mostrar
 meia.

 O que será que pode estar acontecendo??



Este assunto já foi discutido nesta lista.

É o comportamento definido para a ordenação pela glibc (desconsiderar
separadores como o espaço).
Veja:
http://postgresql.1045698.n5.nabble.com/ordenacao-e-libc-uma-possivel-solucao-podem-me-ajudar-a-testar-td2025444.html#a2025452

Uma alternativa é especificar outro operador de ordenação:
ORDER BY campo USING ~~
verifique se atende.

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


-
Nenhum vírus encontrado nessa mensagem.
Verificado por AVG - www.avgbrasil.com.br
Versão: 2012.0.1873 / Banco de dados de vírus: 2108/4677 - Data de 
Lançamento: 12/12/11

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Order By

2011-12-12 Por tôpico Guimarães Faria Corcete DUTRA , Leandro
2011/12/12 Alexandre alexan...@setadigital.com.br:

 Estou com o seguinte problema. Possuo uma tabela de produtos, e quero
 que ela me retorne os produtos que contenham o descrição ‘MEIA’,  ordenado
 pela descrição.

 Select * from Produtos where descricao like ‘MEIA%’ order by descricao.

 Porém o postgres está me retornando a palavra MEIAO no meio de palavras com
 espaço..

Use expressões regulares, que podem diferenciar facilmente entre uma
palavra e um fragmento.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Order By

2011-12-12 Por tôpico Danilo Silva
Em 12 de dezembro de 2011 18:48, Alexandre
alexan...@setadigital.com.brescreveu:

   Boa Tarde Pessoal

 Estou com o seguinte problema. Possuo uma tabela de produtos, e quero
 que ela me retorne os produtos que contenham o descrição ‘MEIA’,  ordenado
 pela descrição.

 *Select * from Produtos where descricao like ‘MEIA%’ order by descricao.*


Irá retornar tudo que comece com a palavra 'MEIA', no seu exemplo, está
tudo certo, pois 'MEIAO' está dentro de 'MEIA'...


 Porém o postgres está me retornando a palavra MEIAO no meio de palavras
 com espaço..

 Ex: MEIA OLYMPIKUS OIAC0012
   MEIAO PENALTY BRASIL 70 OF11 4107081110
   MEIA PALMILHA BONTON GEL 131 P1201005NO

 Alguem Já Passou por esse problema???

 Gratos Pela Atenção

 Alexandre Martinasso.

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Order By

2011-12-12 Por tôpico Flavio Henrique Araque Gurgel
 Select * from Produtos where descricao like ‘MEIA%’ order by descricao.


 Irá retornar tudo que comece com a palavra 'MEIA', no seu exemplo, está tudo
 certo, pois 'MEIAO' está dentro de 'MEIA'...

Siga a diga da busca por expressões regulares, mas se quiser insistir
no like, coloque um espaço *antes* do sinal de porcentagem:
Select * from Produtos where descricao like ‘MEIA %’ order by descricao;
Que deve resolver o seu problema.

[]s
Flavio Gurgel
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Order By

2011-12-12 Por tôpico Leandro Guimarães Faria Corce DUTRA
Le 2011-D-12  22h9, Flavio Henrique Araque Gurgel a écrit :
 Siga a diga da busca por expressões regulares, mas se quiser insistir
 no like, coloque um espaço *antes* do sinal de porcentagem:
 Select * from Produtos where descricao like ‘MEIA %’ order by descricao;
 Que deve resolver o seu problema.

Somente se a palavra nunca estiver no final da seqüência de caracteres, 
nem for seguida por sinal de pontuação.



-- 
skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
+55 (61) 3546 7191  gTalk: xmpp:leand...@jabber.org
+55 (11) 9406 7191ICQ/AIM: aim:GoIM?screenname=61287803
BRAZIL GMT-3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ORDER BY

2009-09-01 Por tôpico sergio santos
Pessoal
eu escrevi errado... coloquei o h no lugar errado

ignorem o exemplo anterior e avaliem esse que está mais completo:


Meu lc_collate

bdteste=# SELECT version();
PostgreSQL 8.3.3 on x86_64-pc-linux-gnu, compiled by GCC cc (GCC) 4.2.3
(Ubuntu 4.2.3-2ubuntu7)

bdteste=# SHOW lc_collate;
 pt_BR

VALUES ('Thaisa Soares de Araujo'),('Thais Alves Soares'), ('Thais Cotta de
Almeida Tripoli'), ('Thaís dos Santos');
Thaisa Soares de Araujo
Thais Alves Soares
Thais Cotta de Almeida Tripoli
Thaís dos Santos

bdteste=# VALUES ('Thaisa Soares de Araujo'),('Thais Alves Soares'), ('Thais
Cotta de Almeida Tripoli'), ('Thaís dos Santos') ORDER BY 1;
Thais Alves Soares
Thaisa Soares de Araujo
Thais Cotta de Almeida Tripoli
Thaís dos Santos


segundo o meu gerente de RH Thaisa Soares de Araujo deve ser o últimon
nome

obrigado

-- 
Sérgio Antônio dos Santos
Bacharel em Sistemas de Informação
(31) 8573-7004
http://serginhosant.wordpress.com/
http://www.rccvicosa.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ORDER BY

2009-09-01 Por tôpico Alexsandro Haag
Pois é, eu acho que, ou o colega Sérgio se confundiu no exemplo, ou o
Gerente do RH tem alguma dificuldade com a língua portuguesa. :)

Brincadeiras a parte, creio que o Sérgio quis dizer THAISA ao invés de
TAHISA, aí faria mais sentido.

Att.
Alex

sandro peres escreveu:
 Me tira uma duvida!!!
 Porque o seu gerente quer que Th venha antes de Ta


 2009/8/31 sergio santos sergio.serginhos...@gmail.com
 mailto:sergio.serginhos...@gmail.com

 Pessoal,
 o gerente do RH aqui da empresa tá reclamando da forma que o
 postgres está ordenando o nome dos funcionários na lista de pagamento.

 No relatório aparece assim:
 Tahisa Soares de Araujo
 Thais Alves Soares

 Ele precisa que fique assim
 Thais Alves Soares
 Tahisa Soares de Araujo

 vejam que o postgres entende que o a precede o espaço...

 alguém já passou por algo parecido?

 abrços


 -- 
 Sérgio Antônio dos Santos
 Bacharel em Sistemas de Informação
 (31) 8573-7004
 http://serginhosant.wordpress.com/
 http://www.rccvicosa.com

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 mailto:pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


 

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
   

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ORDER BY

2009-09-01 Por tôpico Andre Fernandes
Boa tarde,
Realmente o que teu gerente quer é o correto gramaticalmente, no entanto, o
banco ordena (pelo que me lembro) ignorando os espaços, como se fosse uma
única string contínua.
Uma forma de minimizar esse problema poderia ser separar nome e sobrenome em
colunas diferentes, assim ordena-se primeiro pelo nome, depois pelo
sobrenome (order by first_name, last_name ).
Infelizmente essa solução ainda não resolve problemas com nomes compostos,
mas ameniza um pouco a dificuldade encontrada em ordenar os termos
alfabeticamente e ficaria mais próximo do que teu gerente deseja.

Abraços,
André.

2009/9/1 sergio santos sergio.serginhos...@gmail.com

 Pessoal
 eu escrevi errado... coloquei o h no lugar errado

 ignorem o exemplo anterior e avaliem esse que está mais completo:


 Meu lc_collate

 bdteste=# SELECT version();
 PostgreSQL 8.3.3 on x86_64-pc-linux-gnu, compiled by GCC cc (GCC) 4.2.3
 (Ubuntu 4.2.3-2ubuntu7)

 bdteste=# SHOW lc_collate;
  pt_BR

 VALUES ('Thaisa Soares de Araujo'),('Thais Alves Soares'), ('Thais Cotta de
 Almeida Tripoli'), ('Thaís dos Santos');
 Thaisa Soares de Araujo
 Thais Alves Soares
 Thais Cotta de Almeida Tripoli
 Thaís dos Santos

 bdteste=# VALUES ('Thaisa Soares de Araujo'),('Thais Alves Soares'),
 ('Thais Cotta de Almeida Tripoli'), ('Thaís dos Santos') ORDER BY 1;
 Thais Alves Soares
 Thaisa Soares de Araujo
 Thais Cotta de Almeida Tripoli
 Thaís dos Santos


 segundo o meu gerente de RH Thaisa Soares de Araujo deve ser o últimon
 nome

 obrigado


 --
 Sérgio Antônio dos Santos
 Bacharel em Sistemas de Informação
 (31) 8573-7004
 http://serginhosant.wordpress.com/
 http://www.rccvicosa.com

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ORDER BY

2009-09-01 Por tôpico Adelmo Ricardo
Bom dia Sergio,

No seu exemplo, o PostGreSql esta ordenado dessa forma, porque a letra h a
da funcionária Thais esta depois da letra a   funcionária Tahisa.
Abs.

-- 
Adelmo Sepúlveda Ricardo
adel...@gmail.com - Celular: (11) 8414-0890

2009/8/31 sergio santos sergio.serginhos...@gmail.com

 Pessoal,
 o gerente do RH aqui da empresa tá reclamando da forma que o postgres está
 ordenando o nome dos funcionários na lista de pagamento.

 No relatório aparece assim:
 Tahisa Soares de Araujo
 Thais Alves Soares

 Ele precisa que fique assim
 Thais Alves Soares
 Tahisa Soares de Araujo

 vejam que o postgres entende que o a precede o espaço...

 alguém já passou por algo parecido?

 abrços


 --
 Sérgio Antônio dos Santos
 Bacharel em Sistemas de Informação
 (31) 8573-7004
 http://serginhosant.wordpress.com/
 http://www.rccvicosa.com

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ORDER BY

2009-09-01 Por tôpico Osvaldo Kussama
2009/9/1 Andre Fernandes fernandes.an...@gmail.com:
 Boa noite,

 Não é achismo, a regra de ordenação em língua portuguesa (não mencionei nada
 sobre banco de dados ou colates, apenas gramática) explicita que toda
 ordenação alfabética deve comparar inicialmente nomes simples. Se estes
 forem compostos, então o primeiro nome de cada um dos nomes compostos deve
 ser comparado. No caso de igualdade, compara-se os demais sequencialmente,
 até encontrar diferença.
 Se um texto terminar antes de outro e, até sua última letra possuem a mesma
 sequencia, então este será considerado anterior ao outro alfabeticamente.
 Essa norma de ordenação foi a aceita pela academia brasileira de letras há
 muito tempo, preciso procurar a referência para passar-te pois já faz tempo
 que a estudei.
 Numa listagem alfabética, por exemplo, todos os «André» virão antes de
 «Andreia»:
 1. André Filipe; 2. André Pires; 3. Andreia
 Em termos práticos, é como se o fim de uma palavra tivesse precedência sobre
 qualquer letra presente.

 Atenciosamente,

 PS: Na gramática do português, os acentos não intereferem na ordenação, o
 que não precisa ser verdade em um banco de dados ou outro programa qualquer.

 2009/8/31 Osvaldo Kussama osvaldo.kuss...@gmail.com

 2009/8/31 Andre Fernandes fernandes.an...@gmail.com:
  Boa tarde,
 
  Na ordenação alfabética oficial do Brasil,
  Thais Alves Soares
 
  vem antes de
  Thaisa Soares de Araujo
  A ordenação de nomes em português leva em conta primeiro o primeiro
  nome,
  independente dos sobrenomes, e depois os sobrenomes, sequencialmente.

 Você acha que é dessa forma ou pode comprovar que existe uma norma
 oficial determinando tal comportamento?



Este problema de ordenação é antigo e consta de diversas threads desta lista.
Pelo que me lembro a causa é a biblioteca glibc e, creio, ainda não
foi modificada.
Quando eu mencionei acha foi porque para modificar a forma de
ordenação para a língua portuguesa seria necessário uma *norma
oficial* determinando como se fazer a ordenação.
Acontece que tal norma, pelo que eu saiba e pelo que já colocaram
nesta lista, simplesmente não existe. (repare que estou falando de
norma oficial não de bom senso)

Em uma thread de outubro de 2006 Walter Cruz postou uma possível solução:
http://www.nabble.com/ordena%C3%A7%C3%A3o-e-libc---uma-poss%C3%ADvel-solu%C3%A7%C3%A3o-(podem-me-ajudar-a-testar-)-to6883324.html#a6883324

Outra possível solução é usar o FreeBSD (ele não usa a glibc)!

Talvez o Euler possa esclarecer melhor.

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ORDER BY

2009-09-01 Por tôpico Osvaldo Kussama
2009/9/1 Osvaldo Kussama osvaldo.kuss...@gmail.com:
 2009/9/1 Andre Fernandes fernandes.an...@gmail.com:
 Boa noite,

 Não é achismo, a regra de ordenação em língua portuguesa (não mencionei nada
 sobre banco de dados ou colates, apenas gramática) explicita que toda
 ordenação alfabética deve comparar inicialmente nomes simples. Se estes
 forem compostos, então o primeiro nome de cada um dos nomes compostos deve
 ser comparado. No caso de igualdade, compara-se os demais sequencialmente,
 até encontrar diferença.
 Se um texto terminar antes de outro e, até sua última letra possuem a mesma
 sequencia, então este será considerado anterior ao outro alfabeticamente.
 Essa norma de ordenação foi a aceita pela academia brasileira de letras há
 muito tempo, preciso procurar a referência para passar-te pois já faz tempo
 que a estudei.
 Numa listagem alfabética, por exemplo, todos os «André» virão antes de
 «Andreia»:
 1. André Filipe; 2. André Pires; 3. Andreia
 Em termos práticos, é como se o fim de uma palavra tivesse precedência sobre
 qualquer letra presente.

 Atenciosamente,

 PS: Na gramática do português, os acentos não intereferem na ordenação, o
 que não precisa ser verdade em um banco de dados ou outro programa qualquer.

 2009/8/31 Osvaldo Kussama osvaldo.kuss...@gmail.com

 2009/8/31 Andre Fernandes fernandes.an...@gmail.com:
  Boa tarde,
 
  Na ordenação alfabética oficial do Brasil,
  Thais Alves Soares
 
  vem antes de
  Thaisa Soares de Araujo
  A ordenação de nomes em português leva em conta primeiro o primeiro
  nome,
  independente dos sobrenomes, e depois os sobrenomes, sequencialmente.

 Você acha que é dessa forma ou pode comprovar que existe uma norma
 oficial determinando tal comportamento?



 Este problema de ordenação é antigo e consta de diversas threads desta lista.
 Pelo que me lembro a causa é a biblioteca glibc e, creio, ainda não
 foi modificada.
 Quando eu mencionei acha foi porque para modificar a forma de
 ordenação para a língua portuguesa seria necessário uma *norma
 oficial* determinando como se fazer a ordenação.
 Acontece que tal norma, pelo que eu saiba e pelo que já colocaram
 nesta lista, simplesmente não existe. (repare que estou falando de
 norma oficial não de bom senso)

 Em uma thread de outubro de 2006 Walter Cruz postou uma possível solução:
 http://www.nabble.com/ordena%C3%A7%C3%A3o-e-libc---uma-poss%C3%ADvel-solu%C3%A7%C3%A3o-(podem-me-ajudar-a-testar-)-to6883324.html#a6883324

 Outra possível solução é usar o FreeBSD (ele não usa a glibc)!

 Talvez o Euler possa esclarecer melhor.



Complementando:
Uma possível solução é especificar outro operador de ordenação. Veja se atende:

bdteste=# VALUES ('Thaisa Soares de Araujo'),('Thais Atves
Soares'),('Thais A S O A R E S Araujo'),('Thais A. S. O. A. R. E. S.
de Almeida') ORDER BY 1 USING ~~;
column1
---
 Thais A S O A R E S Araujo
 Thais A. S. O. A. R. E. S. de Almeida
 Thais Atves Soares
 Thaisa Soares de Araujo
(4 registros)

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ORDER BY

2009-09-01 Por tôpico sergio santos
Testei com a seguinte solução sugerida pelo Osvaldo
ORDER BY to_ascii(cadnome, 'latin1') USING ~~

deu certo
:-)

2009/9/1 Osvaldo Kussama osvaldo.kuss...@gmail.com

 2009/9/1 Osvaldo Kussama osvaldo.kuss...@gmail.com:
  2009/9/1 Andre Fernandes fernandes.an...@gmail.com:
  Boa noite,
 
  Não é achismo, a regra de ordenação em língua portuguesa (não mencionei
 nada
  sobre banco de dados ou colates, apenas gramática) explicita que toda
  ordenação alfabética deve comparar inicialmente nomes simples. Se estes
  forem compostos, então o primeiro nome de cada um dos nomes compostos
 deve
  ser comparado. No caso de igualdade, compara-se os demais
 sequencialmente,
  até encontrar diferença.
  Se um texto terminar antes de outro e, até sua última letra possuem a
 mesma
  sequencia, então este será considerado anterior ao outro
 alfabeticamente.
  Essa norma de ordenação foi a aceita pela academia brasileira de letras
 há
  muito tempo, preciso procurar a referência para passar-te pois já faz
 tempo
  que a estudei.
  Numa listagem alfabética, por exemplo, todos os «André» virão antes de
  «Andreia»:
  1. André Filipe; 2. André Pires; 3. Andreia
  Em termos práticos, é como se o fim de uma palavra tivesse precedência
 sobre
  qualquer letra presente.
 
  Atenciosamente,
 
  PS: Na gramática do português, os acentos não intereferem na ordenação,
 o
  que não precisa ser verdade em um banco de dados ou outro programa
 qualquer.
 
  2009/8/31 Osvaldo Kussama osvaldo.kuss...@gmail.com
 
  2009/8/31 Andre Fernandes fernandes.an...@gmail.com:
   Boa tarde,
  
   Na ordenação alfabética oficial do Brasil,
   Thais Alves Soares
  
   vem antes de
   Thaisa Soares de Araujo
   A ordenação de nomes em português leva em conta primeiro o primeiro
   nome,
   independente dos sobrenomes, e depois os sobrenomes, sequencialmente.
 
  Você acha que é dessa forma ou pode comprovar que existe uma norma
  oficial determinando tal comportamento?
 
 
 
  Este problema de ordenação é antigo e consta de diversas threads desta
 lista.
  Pelo que me lembro a causa é a biblioteca glibc e, creio, ainda não
  foi modificada.
  Quando eu mencionei acha foi porque para modificar a forma de
  ordenação para a língua portuguesa seria necessário uma *norma
  oficial* determinando como se fazer a ordenação.
  Acontece que tal norma, pelo que eu saiba e pelo que já colocaram
  nesta lista, simplesmente não existe. (repare que estou falando de
  norma oficial não de bom senso)
 
  Em uma thread de outubro de 2006 Walter Cruz postou uma possível solução:
 
 http://www.nabble.com/ordena%C3%A7%C3%A3o-e-libc---uma-poss%C3%ADvel-solu%C3%A7%C3%A3o-(podem-me-ajudar-a-testar-)-to6883324.html#a6883324http://www.nabble.com/ordena%C3%A7%C3%A3o-e-libc---uma-poss%C3%ADvel-solu%C3%A7%C3%A3o-%28podem-me-ajudar-a-testar-%29-to6883324.html#a6883324
 
  Outra possível solução é usar o FreeBSD (ele não usa a glibc)!
 
  Talvez o Euler possa esclarecer melhor.
 


 Complementando:
 Uma possível solução é especificar outro operador de ordenação. Veja se
 atende:

 bdteste=# VALUES ('Thaisa Soares de Araujo'),('Thais Atves
 Soares'),('Thais A S O A R E S Araujo'),('Thais A. S. O. A. R. E. S.
 de Almeida') ORDER BY 1 USING ~~;
 column1
 ---
  Thais A S O A R E S Araujo
  Thais A. S. O. A. R. E. S. de Almeida
  Thais Atves Soares
  Thaisa Soares de Araujo
 (4 registros)

 Osvaldo
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
Sérgio Antônio dos Santos
Bacharel em Sistemas de Informação
(31) 8573-7004
http://serginhosant.wordpress.com/
http://www.rccvicosa.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ORDER BY

2009-08-31 Por tôpico JotaComm
Olá,

2009/8/31 sergio santos sergio.serginhos...@gmail.com

 Pessoal,
 o gerente do RH aqui da empresa tá reclamando da forma que o postgres está
 ordenando o nome dos funcionários na lista de pagamento.

 No relatório aparece assim:
 Tahisa Soares de Araujo
 Thais Alves Soares

 Ele precisa que fique assim
 Thais Alves Soares
 Tahisa Soares de Araujo

 vejam que o postgres entende que o a precede o espaço...


Como assim o a precede o espaço?

Th vez depois de Ta correto, então Tahisa sempre virá antes de Thais.

O problema da ordenação em nada tem a ver com o PostgreSQL e sim o locate
que você está utilizando. Qual o locate que está configurado?


 alguém já passou por algo parecido?

 abrços


 --
 Sérgio Antônio dos Santos
 Bacharel em Sistemas de Informação
 (31) 8573-7004
 http://serginhosant.wordpress.com/
 http://www.rccvicosa.com

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



[]s
-- 
JotaComm
http://jotacomm.wordpress.com
http://www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ORDER BY

2009-08-31 Por tôpico Fabrízio de Royes Mello
2009/8/31 sergio santos sergio.serginhos...@gmail.com

 Pessoal,
 o gerente do RH aqui da empresa tá reclamando da forma que o postgres está
 ordenando o nome dos funcionários na lista de pagamento.

 No relatório aparece assim:
 Tahisa Soares de Araujo
 Thais Alves Soares

 Ele precisa que fique assim
 Thais Alves Soares
 Tahisa Soares de Araujo

 vejam que o postgres entende que o a precede o espaço...

 alguém já passou por algo parecido?


Caro Sérgio,

Passei pelo mesmo problema e depois de algum tempo pesquisando e testando a
solução foi recriar o cluster do PostgreSQL (aka initdb) utilizando o
collate 'C', mais ou menos assim:

$ initdb --pgdata=/pasta/do/meu/cluster --encoding=LATIN1 --lc-collate=C


Cordialmente,
-- 
Fabrízio de Royes Mello
 Blog sobre TI: http://fabriziomello.blogspot.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ORDER BY

2009-08-31 Por tôpico Alexsandro Haag
É Tahisa ou Thaisa?
Se for Tahisa (como colocou no exemplo) está correta a ordenação, pois o
a vem antes do h.

Aí para ficar o inverso disso basta colocar um DESC na tua cláusula
ORDER BY.

Att.
Alex

sergio santos escreveu:
 Pessoal,
 o gerente do RH aqui da empresa tá reclamando da forma que o postgres
 está ordenando o nome dos funcionários na lista de pagamento.

 No relatório aparece assim:
 Tahisa Soares de Araujo
 Thais Alves Soares

 Ele precisa que fique assim
 Thais Alves Soares
 Tahisa Soares de Araujo

 vejam que o postgres entende que o a precede o espaço...

 alguém já passou por algo parecido?

 abrços


 -- 
 Sérgio Antônio dos Santos
 Bacharel em Sistemas de Informação
 (31) 8573-7004
 http://serginhosant.wordpress.com/
 http://www.rccvicosa.com
 

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
   

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ORDER BY

2009-08-31 Por tôpico Haroldo
Bom dia...
O unico jeito de vc conseguir uma ordenação ignorando a letra H, ou outras,
eh vc montar uma pequisa fonética, dai vc vai ter os strings similares, no
mais, vc vai obedecer aos padrões do alfabeto.

[]´s

2009/8/31 Alexsandro Haag alexsandro.h...@gmail.com

  É Tahisa ou Thaisa?
 Se for Tahisa (como colocou no exemplo) está correta a ordenação, pois o
 a vem antes do h.

 Aí para ficar o inverso disso basta colocar um DESC na tua cláusula ORDER
 BY.

 Att.
 Alex

 sergio santos escreveu:

 Pessoal,
 o gerente do RH aqui da empresa tá reclamando da forma que o postgres está
 ordenando o nome dos funcionários na lista de pagamento.

 No relatório aparece assim:
 Tahisa Soares de Araujo
 Thais Alves Soares

 Ele precisa que fique assim
 Thais Alves Soares
 Tahisa Soares de Araujo

 vejam que o postgres entende que o a precede o espaço...

 alguém já passou por algo parecido?

 abrços


 --
 Sérgio Antônio dos Santos
 Bacharel em Sistemas de Informação
 (31) 8573-7004
 http://serginhosant.wordpress.com/
 http://www.rccvicosa.com

 --

 ___
 pgbr-geral mailing 
 listpgbr-ge...@listas.postgresql.org.brhttps://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
Haroldo
harold...@gmail.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ORDER BY

2009-08-31 Por tôpico JotaComm
Olá,

Não recomendo está abordagem pois você terá problemas na acentuação.
Teoricamente a vantagem deste locale é em um banco de dados 8.3 você poder
criar bancos em UTF8 e Latin1.


2009/8/31 Fabrízio de Royes Mello fabriziome...@gmail.com


 2009/8/31 sergio santos sergio.serginhos...@gmail.com

 Pessoal,
 o gerente do RH aqui da empresa tá reclamando da forma que o postgres está
 ordenando o nome dos funcionários na lista de pagamento.

 No relatório aparece assim:
 Tahisa Soares de Araujo
 Thais Alves Soares

 Ele precisa que fique assim
 Thais Alves Soares
 Tahisa Soares de Araujo

 vejam que o postgres entende que o a precede o espaço...

 alguém já passou por algo parecido?


 Caro Sérgio,

 Passei pelo mesmo problema e depois de algum tempo pesquisando e testando a
 solução foi recriar o cluster do PostgreSQL (aka initdb) utilizando o
 collate 'C', mais ou menos assim:

 $ initdb --pgdata=/pasta/do/meu/cluster --encoding=LATIN1 --lc-collate=C


 Cordialmente,
 --
 Fabrízio de Royes Mello
  Blog sobre TI: http://fabriziomello.blogspot.com

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



[]s
-- 
JotaComm
http://jotacomm.wordpress.com
http://www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ORDER BY

2009-08-31 Por tôpico JotaComm
2009/8/31 JotaComm jota.c...@gmail.com

 Olá, Fabrízio

 Segue um pequeno teste.

 postgres=# SHOW lc_collate;
  lc_collate
 
  C
 (1 row)


 postgres=# select * from tabela order by nome;
  nome
 --
  JOAO
  Joao
  Joã
 (3 rows)


 postgres=# SHOW lc_collate;
  lc_collate
 -
  pt_BR.UTF-8
 (1 row)

 postgres=# select * from tabela order by nome;
  nome
 --
  Joã
  Joao
  JOAO
 (3 rows)


 2009/8/31 Fabrízio de Royes Mello fabriziome...@gmail.com



 2009/8/31 JotaComm jota.c...@gmail.com

 Olá,

 Não recomendo está abordagem pois você terá problemas na acentuação.
 Teoricamente a vantagem deste locale é em um banco de dados 8.3 você poder
 criar bancos em UTF8 e Latin1.


 Jota,

 Que problemas eu poderei ter com acentuação?? Tenho utilizado isso nos
 meus clientes com o PostgreSQL 8.2 e tudo parece estar ok... agora fiquei
 assustado (rsrrsrs).



 --
 Fabrízio de Royes Mello
  Blog sobre TI: http://fabriziomello.blogspot.com



 []s
 --
 JotaComm
 http://jotacomm.wordpress.com
 http://www.dextra.com.br/postgres




-- 
JotaComm
http://jotacomm.wordpress.com
http://www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ORDER BY

2009-08-31 Por tôpico Osvaldo Kussama
2009/8/31 sergio santos sergio.serginhos...@gmail.com:
 Pessoal,
 o gerente do RH aqui da empresa tá reclamando da forma que o postgres está
 ordenando o nome dos funcionários na lista de pagamento.

 No relatório aparece assim:
 Tahisa Soares de Araujo
 Thais Alves Soares

 Ele precisa que fique assim
 Thais Alves Soares
 Tahisa Soares de Araujo

 vejam que o postgres entende que o a precede o espaço...

 alguém já passou por algo parecido?



Qual o seu lc_collate?

bdteste=# SELECT version();
  version
---
 PostgreSQL 8.3.7 on i486-pc-linux-gnu, compiled by GCC gcc-4.3.real
(Ubuntu 4.3.3-5ubuntu4) 4.3.3
(1 registro)

bdteste=# SHOW lc_collate;
 lc_collate
-
 pt_BR.UTF-8
(1 registro)

bdteste=# VALUES ('Thaisa Soares de Araujo'),('Thais Alves Soares');
 column1
-
 Thaisa Soares de Araujo
 Thais Alves Soares
(2 registros)

bdteste=# VALUES ('Thaisa Soares de Araujo'),('Thais Alves Soares') ORDER BY 1;
 column1
-
 Thais Alves Soares
 Thaisa Soares de Araujo
(2 registros)

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ORDER BY

2009-08-31 Por tôpico Andre Fernandes
Boa tarde,

Na ordenação alfabética oficial do Brasil,
Thais Alves Soares

vem antes de
Thaisa Soares de Araujo
A ordenação de nomes em português leva em conta primeiro o primeiro nome,
independente dos sobrenomes, e depois os sobrenomes, sequencialmente.

Como Thais vem antes de Thaisa, o primeiro nome vem antes do outro, o que é
exatamente o que dita a gramática do português.

Atenciosamente,


2009/8/31 Osvaldo Kussama osvaldo.kuss...@gmail.com

 2009/8/31 sergio santos sergio.serginhos...@gmail.com:
  Pessoal,
  o gerente do RH aqui da empresa tá reclamando da forma que o postgres
 está
  ordenando o nome dos funcionários na lista de pagamento.
 
  No relatório aparece assim:
  Tahisa Soares de Araujo
  Thais Alves Soares
 
  Ele precisa que fique assim
  Thais Alves Soares
  Tahisa Soares de Araujo
 
  vejam que o postgres entende que o a precede o espaço...
 
  alguém já passou por algo parecido?
 


 Qual o seu lc_collate?

 bdteste=# SELECT version();
  version

 ---
  PostgreSQL 8.3.7 on i486-pc-linux-gnu, compiled by GCC gcc-4.3.real
 (Ubuntu 4.3.3-5ubuntu4) 4.3.3
 (1 registro)

 bdteste=# SHOW lc_collate;
  lc_collate
 -
  pt_BR.UTF-8
 (1 registro)

 bdteste=# VALUES ('Thaisa Soares de Araujo'),('Thais Alves Soares');
 column1
 -
  Thaisa Soares de Araujo
  Thais Alves Soares
 (2 registros)

 bdteste=# VALUES ('Thaisa Soares de Araujo'),('Thais Alves Soares') ORDER
 BY 1;
 column1
 -
  Thais Alves Soares
  Thaisa Soares de Araujo
 (2 registros)

 Osvaldo
  ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ORDER BY

2009-08-31 Por tôpico Osvaldo Kussama
2009/8/31 Andre Fernandes fernandes.an...@gmail.com:
 Boa tarde,

 Na ordenação alfabética oficial do Brasil,
 Thais Alves Soares

 vem antes de
 Thaisa Soares de Araujo
 A ordenação de nomes em português leva em conta primeiro o primeiro nome,
 independente dos sobrenomes, e depois os sobrenomes, sequencialmente.

Você acha que é dessa forma ou pode comprovar que existe uma norma
oficial determinando tal comportamento?



 Como Thais vem antes de Thaisa, o primeiro nome vem antes do outro, o que é
 exatamente o que dita a gramática do português.


A ordenação padrão do PostgreSQL para o português não leva em conta
eventuais espaços ou sinais de pontuação existentes entre as partes da
cadeia de caracteres.
Assim veja esta classificação:

bdteste=# VALUES ('Thaisa Soares de Araujo'),('Thais Atves
Soares'),('Thais A S O A R E S Araujo'),('Thais A. S. O. A. R. E. S.
de Almeida') ORDER BY 1;
column1
---
 Thais A S O A R E S Araujo
 Thais A. S. O. A. R. E. S. de Almeida
 Thaisa Soares de Araujo
 Thais Atves Soares
(4 registros)

Isso já foi discutido aqui nesta lista e, pelo que me lembro, não
conseguiram localizar nenhuma norma oficial da lingua portuguesa que
determinasse outro tipo de comportamento.

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ORDER BY

2009-08-31 Por tôpico Andre Fernandes
Boa noite,

Não é achismo, a regra de ordenação em língua portuguesa (não mencionei nada
sobre banco de dados ou colates, apenas gramática) explicita que toda
ordenação alfabética deve comparar inicialmente nomes simples. Se estes
forem compostos, então o primeiro nome de cada um dos nomes compostos deve
ser comparado. No caso de igualdade, compara-se os demais sequencialmente,
até encontrar diferença.
Se um texto terminar antes de outro e, até sua última letra possuem a mesma
sequencia, então este será considerado anterior ao outro alfabeticamente.
Essa norma de ordenação foi a aceita pela academia brasileira de letras há
muito tempo, preciso procurar a referência para passar-te pois já faz tempo
que a estudei.

Numa listagem alfabética, por exemplo, todos os «André» virão antes de
«Andreia»:
1. André Filipe; 2. André Pires; 3. Andreia
Em termos práticos, é como se o fim de uma palavra tivesse precedência sobre
qualquer letra presente.

Atenciosamente,

PS: Na gramática do português, os acentos não intereferem na ordenação, o
que não precisa ser verdade em um banco de dados ou outro programa qualquer.

2009/8/31 Osvaldo Kussama osvaldo.kuss...@gmail.com

 2009/8/31 Andre Fernandes fernandes.an...@gmail.com:
  Boa tarde,
 
  Na ordenação alfabética oficial do Brasil,
  Thais Alves Soares
 
  vem antes de
  Thaisa Soares de Araujo
  A ordenação de nomes em português leva em conta primeiro o primeiro nome,
  independente dos sobrenomes, e depois os sobrenomes, sequencialmente.

 Você acha que é dessa forma ou pode comprovar que existe uma norma
 oficial determinando tal comportamento?

 --
 André de Camargo Fernandes



___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Order by

2009-01-28 Por tôpico Rafael Garbin
Não da pra por um coalesce?

coalesce(VALOR, 0);

Isso jah resolveria, pq dai caso nulo ele poem 0 e zero acredito ser um dos
primeiros, tenta ai!

2009/1/28 Alisson Viegas p...@acsiv.com.br

  Pessoal,

 Em um order by, os registros NULL ficam no fim da consulta.

 E possível defini-los como os primeiros?



 Obrigado,

 Alisson.

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Order by

2009-01-28 Por tôpico Leonardo Cezar
2009/1/28 Alisson Viegas p...@acsiv.com.br:
 Pessoal,

 Em um order by, os registros NULL ficam no fim da consulta.

 E possível defini-los como os primeiros?

SELECT foo FROM bar ORDER BY 1 NULLS FIRST;

-Leo
-- 
Leonardo Cezar
http://www.aslid.org.br
http://postgreslogia.wordpress.com
http://www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Order by

2009-01-28 Por tôpico Osvaldo Kussama
2009/1/28, Alisson Viegas p...@acsiv.com.br:

 Em um order by, os registros NULL ficam no fim da consulta.

 E possível defini-los como os primeiros?



Se sua versão for = 8.3.0 então utilize a cláusula:
 NULLS { FIRST | LAST }
no ORDER BY:
http://www.postgresql.org/docs/current/interactive/sql-select.html

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Order by

2009-01-28 Por tôpico Rafael Garbin
Mais pelo que testei aqui só funciona do 8.3 em diante neh?

2009/1/28 Leonardo Cezar lhce...@gmail.com

 2009/1/28 Alisson Viegas p...@acsiv.com.br:
  Pessoal,
 
  Em um order by, os registros NULL ficam no fim da consulta.
 
  E possível defini-los como os primeiros?

 SELECT foo FROM bar ORDER BY 1 NULLS FIRST;

 -Leo
 --
 Leonardo Cezar
 http://www.aslid.org.br
 http://postgreslogia.wordpress.com
 http://www.dextra.com.br/postgres
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral