Fabrizio, muito boa sua ajuda... diga uma coisa tem alguma materia pra
podermos entender essa select por partes pra futuras implementações?

Por exemplo a parte "(a|as|os)[[:blank:]]" significa que sempre que tiver um
espaco depois de a,as,os ele vai deixas a palavra em minusculo?
Mas ai como ele vai saber que é "das, dos, de, etc"?

Interessante esse regexp_replace

Marcelo Silva
------------------------------


Em 7 de fevereiro de 2011 20:06, Fabrízio de Royes Mello <
fabriziome...@gmail.com> escreveu:

>
> Em 7 de fevereiro de 2011 18:09, Leonardo Cezar <lhce...@gmail.com>escreveu:
>
>
>> Com um pouquinho mais de criatividade e tempo dá pra resolver melhor,
>> mas é por aqui:
>>
>> SELECT regexp_replace(initcap('leonardo danubio henrique da silva dos
>> santos cezar'), '([[:upper:]])(a|as|os)[[:blank:]]', E'd\\2 ', 'g');
>>
>>                   regexp_replace
>> -----------------------------------------------------
>>  Leonardo Danubio Henrique da Silva dos Santos Cezar
>> (1 row)
>>
>>
>
> Só um ajuste para o caso de existir a preposição "de":
>
> postgres@bdteste=# SELECT regexp_replace(initcap('fabrizio de royes
> mello'), '([[:upper:]])(a|as|os|e)[[:blank:]]', E'd\\2 ', 'g');
>      regexp_replace
> -------------------------
>  Fabrizio de Royes Mello
> (1 row)
>
>
> Ainda tens de incrementar um pouco essa expressão regular, pois pode
> existir um nome do tipo:
>
> fulano de tal souza e silva
>
> Usando a expressão acima fica:
>
> postgres@bdteste=# SELECT regexp_replace(initcap('fulano de tal souza e
> silva'), '([[:upper:]])(a|as|os|e)[[:blank:]]', E'd\\2 ', 'g');
> regexp_replace
> -----------------------------
>  Fulano de Tal Souza E Silva
> (1 row)
>
>
> Mas isso fica para tema de casa...
>
> --
> Fabrízio de Royes Mello
> >> Blog sobre TI: http://fabriziomello.blogspot.com
> >> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
>
>
> _______________________________________________
> 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

Responder a