Usuário com melhor resposta
Duvidas sobre Collate

Pergunta
-
Seguinte amigos.
Quando criei o banco de dados, não especifiquei o collate, posteriormente mudei para Latin1_General_CI_AI.
Está acontecendo que as consultas não diferenciam palavras acentuadas.
exemplo:
fazendo uma consulta na tabela cidade
select * from cidade where nome like 'amapa'
não retorna nada
Agora se eu fizer
select * from cidade where nome like 'amapa' collate Latin1_General_CI_AI
Assim retorna a cidade de amapá
A dúvida é:
Mesmo especificando o collate no DB é preciso informar o collate em cada consulta?
obrigado..
- Editado João Elson terça-feira, 23 de outubro de 2012 13:41
Respostas
-
Quando você altera o Collate do banco, o SQL não altera o Collate das colunas já criadas nas tabelas.
O ideal é que você desenvolva um script de alteração de collate das colunas.
Roberson Ferreira - Database Developer
Acesse: www.robersonferreira.com.br
Email: contato@robersonferreira.com.brSe esta sugestão for útil, por favor, classifique-a como útil.
Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.- Sugerido como Resposta Alexandre Matayosi terça-feira, 23 de outubro de 2012 14:08
- Marcado como Resposta Ricardo Russo quarta-feira, 2 de janeiro de 2013 13:52
Todas as Respostas
-
Quando você altera o Collate do banco, o SQL não altera o Collate das colunas já criadas nas tabelas.
O ideal é que você desenvolva um script de alteração de collate das colunas.
Roberson Ferreira - Database Developer
Acesse: www.robersonferreira.com.br
Email: contato@robersonferreira.com.brSe esta sugestão for útil, por favor, classifique-a como útil.
Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.- Sugerido como Resposta Alexandre Matayosi terça-feira, 23 de outubro de 2012 14:08
- Marcado como Resposta Ricardo Russo quarta-feira, 2 de janeiro de 2013 13:52
-
Veja mais sobre alteração de Collate em: http://www.robersonferreira.com.br/alterandocollate/.
Roberson Ferreira - Database Developer
Acesse: www.robersonferreira.com.br
Email: contato@robersonferreira.com.brSe esta sugestão for útil, por favor, classifique-a como útil.
Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta. -
Recomendo também:
Roberson Ferreira - Database Developer
Acesse: www.robersonferreira.com.br
Email: contato@robersonferreira.com.brSe esta sugestão for útil, por favor, classifique-a como útil.
Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta. -
Obrigado amigo.
Ajudou muito os links!
Na minha opinião isso é um erro do Sql server, deveria ter opção quando mudasse a collate de manter o atual ou alterar todas as colunas para a collate nova.
Abraço.
- Editado João Elson quinta-feira, 25 de outubro de 2012 14:50
-
OK amigo. Favor classificar as respostas para encerrarmos a Thread. Obrigado.
Roberson Ferreira - Database Developer
Acesse: www.robersonferreira.com.br
Email: contato@robersonferreira.com.brSe esta sugestão for útil, por favor, classifique-a como útil.
Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta. -
Boa tarde!
Você pode alterar as colunas que precisa direto.
faz o seguinte:
ALTER TABLE <nome_da_tabela>
ALTER COLUMN <nome_da_coluna> <data_type> COLLATE
SQL_Latin1_General_CP1_CI_AI <NULL | NOT NULL>- Editado Molombito quinta-feira, 25 de outubro de 2012 20:37