Update em um campo para alterar o nome
22/11/2013
0
Bom dia, estou com um problema e já tentei de varias formas, mas não conseguir resolver. Em uma TABELA(nome da tabela = metadatavalue) tem uma COLUNA chamada "text_value" esse campo é onde fica os nomes de autores.
Os dados neste campo estão registrados da seguinte forma: LUIZ HENRIQUE CABRAL DE OLIVEIRA
tenho que fazer um UPDATE para alterar para este formato: OLIVEIRA, LUIZ HENRIQUE CABRAL DE
Obs.: colocando o último nome na frente e acrescentando uma vírgula e incluir o restante do nome logo após.
Alguém sabe uma maneira de fazer isso no POSTGRES?
Os dados neste campo estão registrados da seguinte forma: LUIZ HENRIQUE CABRAL DE OLIVEIRA
tenho que fazer um UPDATE para alterar para este formato: OLIVEIRA, LUIZ HENRIQUE CABRAL DE
Obs.: colocando o último nome na frente e acrescentando uma vírgula e incluir o restante do nome logo após.
Alguém sabe uma maneira de fazer isso no POSTGRES?
![Luiz Oliveira Luiz Oliveira](https://www.devmedia.com.br/imagens/fotoscolunistas/avatar/avatar-1.png)
Luiz Oliveira
Curtir tópico
+ 0
Responder
Posts
10/01/2014
Leandro Chiodini
Bom dia Luiz,
Seguinte, dependendo a linguagem que você esta trabalhando ai.
poderias fazer um programinha rapido pra fazer essa converção
bem tranquialo.
convertendo o texto em um array, fazendo um split do texto pelos espaços.
mais como você quer fazer pelo banco,
no sql seria mais ou menos assimhttp://social.msdn.microsoft.com/Forums/pt-BR/5c51aac7-61d4-4800-8407-fdbc97a71fd4/separar-nome-nome-do-meio-e-sobrenome?forum=520
Veja se te da uma luz,
att
Chiodini
Seguinte, dependendo a linguagem que você esta trabalhando ai.
poderias fazer um programinha rapido pra fazer essa converção
bem tranquialo.
convertendo o texto em um array, fazendo um split do texto pelos espaços.
mais como você quer fazer pelo banco,
no sql seria mais ou menos assimhttp://social.msdn.microsoft.com/Forums/pt-BR/5c51aac7-61d4-4800-8407-fdbc97a71fd4/separar-nome-nome-do-meio-e-sobrenome?forum=520
Veja se te da uma luz,
att
Chiodini
Responder
17/01/2014
Anderson Abreu
Caríssimo, bom dia!
Segue uma solução, espero ajudar.
Criamos a tabela pessoa:
Realizamos o insert de três pessoas:
Criamos a consulta utilizando o split_part para buscar as partes do nome, e o tamanho do nome menos o tamanho do nome retirando os espaços para compor na montagem da string como você precisa.
Atenciosamente,
Anderson Abreu
Especialista em
PostgreSQL, EnterpriseDB (Postgre Plus® Advanced Server)
Oracle, SQL Sever, MySQL, MariaDB, NoSQL, Cache, DB2, NuoDB
Bancos de Dados em alta disponibilidade
Administração de Dados
Business Intelligence
Bigdata: Cassandra, MongoDB, HBase, CouchDB, Redis
Oracle Geospatial, PostGIS
Desenvolvimento WEB
Gestão de equipes técnicas
Gestão de projetos de Missão Crítica
andersonabreu@gmail.com
anderson.abreu@tecnisys.com.br
Tecnisys
Meu Blog
Segue uma solução, espero ajudar.
Criamos a tabela pessoa:
create table pessoa ( nome varchar(100) );
Realizamos o insert de três pessoas:
insert into pessoa values ('JOAO CAMPOS SANTOS'),('MARIA DA SILVA'),('PEDRO ALVAREZ CABRAL DE BRAZ');
Criamos a consulta utilizando o split_part para buscar as partes do nome, e o tamanho do nome menos o tamanho do nome retirando os espaços para compor na montagem da string como você precisa.
select nome, split_part(nome, ' ', (length(nome) - length(replace(nome,' ',''))+1) ), left(nome, length(nome) - length(split_part(nome, ' ', (length(nome) - length(replace(nome,' ',''))+1) ) ) ), split_part(nome, ' ', (length(nome) - length(replace(nome,' ',''))+1) )||', '|| left(nome, length(nome) - length(split_part(nome, ' ', (length(nome) - length(replace(nome,' ',''))+1) ) ) ) from pessoa;
Atenciosamente,
Anderson Abreu
Especialista em
PostgreSQL, EnterpriseDB (Postgre Plus® Advanced Server)
Oracle, SQL Sever, MySQL, MariaDB, NoSQL, Cache, DB2, NuoDB
Bancos de Dados em alta disponibilidade
Administração de Dados
Business Intelligence
Bigdata: Cassandra, MongoDB, HBase, CouchDB, Redis
Oracle Geospatial, PostGIS
Desenvolvimento WEB
Gestão de equipes técnicas
Gestão de projetos de Missão Crítica
andersonabreu@gmail.com
anderson.abreu@tecnisys.com.br
Tecnisys
Meu Blog
Responder
Clique aqui para fazer login e interagir na Comunidade :)