consulta SQL para fazer todos os dados em uma coluna UPPER CASE?
Pergunta
Eu preciso de uma consulta SQL para fazer todos os dados em uma coluna UPPER CASE?
Todas as idéias?
Solução
Permanente:
UPDATE
MyTable
SET
MyColumn = UPPER(MyColumn)
temporária:
SELECT
UPPER(MyColumn) AS MyColumn
FROM
MyTable
Outras dicas
Se você quiser única atualização sobre linhas que não estão a maiúsculas (em vez de todas as linhas), você precisa para identificar a diferença usando COLLATE
assim:
UPDATE MyTable
SET MyColumn = UPPER(MyColumn)
WHERE MyColumn != UPPER(MyColumn) COLLATE Latin1_General_CS_AS
Um pouco sobre Agrupamento
sensibilidadeCasos é baseado em suas configurações de agrupamento, e é tipicamente maiúsculas e minúsculas por padrão.
Agrupamento pode ser definido no Servidor , banco de dados, coluna ou consulta Nível:
-- Server
SELECT SERVERPROPERTY('COLLATION')
-- Database
SELECT name, collation_name FROM sys.databases
-- Column
SELECT COLUMN_NAME, COLLATION_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE CHARACTER_SET_NAME IS NOT NULL
Agrupamento nomes especificar como uma string deve ser codificado e ler, por exemplo:
-
Latin1_General_CI_AS
? Insensitive Case -
Latin1_General_CS_AS
? Case Sensitive
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow