Eu tenho uma coluna de ID de chave primária que desejo converter em uma string, qualquer tipo de string. Agora, sei como fazer isso para um valor específico, usando CAST ou CONVERT. Mas como faço para fazer isso para todo o campo? Acho que usamos algum tipo de Transact SQL , mas gostaria de receber algumas dicas sobre como fazer isso. Obrigado.
relate perguntas
-
SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado
-
Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?
-
Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?
-
Quais são as principais causas de deadlocks e podem ser evitadas?
-
Como determinar se um Índice é necessário ou necessário
Não tenho certeza do que você quer dizer com 'campo inteiro', mas é assim que você converteria um inteiro em uma string varchar. A 'segunda' seleção prova que é uma string porque você pode concatenar colchetes em torno dela.
Você aplicaria a mesma técnica ao selecionar linhas de uma tabela.
Alterar o tipo de dados de um campo usado na chave primária de uma tabela é uma tarefa que não deve ser realizada levianamente!
Primeiro, você precisaria descartar a restrição de chave primária, depois alterar o tipo de dados e adicionar uma nova restrição de chave primária. Isso certamente resultará em uma interrupção e provavelmente em muitas outras armadilhas em potencial, portanto, você precisará pensar em todas essas implicações.
(Observação, isso pressupõe que você não tem IDENTITY especificado para a coluna. Se tiver, consulte https://stackoverflow.com/questions/8230257/remove-identity-from-a-column-in-a-table ) .
Uma alternativa que pode atender às suas necessidades é adicionar uma coluna calculada à tabela (ou a uma visualização sobre a tabela) que contenha o mesmo valor do campo ID, mas convertido em um tipo de caractere. É menos provável que isso interfira em outras coisas, mas ainda pode causar problemas se houver instruções SELECT * FROM my_table sendo usadas em aplicativos.