Eu tenho o banco de dados SQL Server e acabei de perceber que posso alterar o tipo de uma das colunas de int
para bool
.
Como posso fazer isso sem perder os dados que já foram inseridos nessa tabela?
sql-server
sql-server-2008
alter
Ivan Stoyanov
fonte
fonte
Respostas:
Você pode fazer isso facilmente usando o seguinte comando. Qualquer valor de 0 será transformado em 0 (BIT = false), qualquer outra coisa será transformada em 1 (BIT = true).
A outra opção seria criar uma nova coluna do tipo
BIT
, preenchê-la da coluna antiga e, quando terminar, solte a coluna antiga e renomeie a nova para o nome antigo. Dessa forma, se algo durante a conversão der errado, você sempre poderá voltar, pois ainda possui todos os dados.fonte
NULL
permaneceNULL
,0
tornaFalse
- se , valores diferentes de zero (1, -1, 1999, -987 ...) tornam-seTrue
.Nota: se houver um tamanho de colunas, basta escrever o tamanho também.
fonte
Se é uma alteração válida.
você pode alterar a propriedade
Agora você pode alterar facilmente o nome da coluna sem recriar a tabela ou perder seus registros.
fonte
Por que você acha que vai perder dados? Basta acessar o Management Studio e alterar o tipo de dados. Se o valor existente puder ser convertido em bool (bit), ele fará isso. Em outras palavras, se "1" mapeia para verdadeiro e "0" mapeia para falso em seu campo original, você estará bem.
fonte
se você usa T-SQL (MSSQL); você deve tentar este script:
se você usa MySQL; você deve tentar este script:
se você usa Oracle; você deve tentar este script:
fonte
Vá para Tool-Option-designers-Table e Designers de banco de dados e desmarque a opção Impedir salvar
fonte
Altere o tipo de dados da coluna com o tipo de verificação da coluna:
fonte
pra mim, no sql server 2016, eu faço assim
* Para renomear a coluna Coluna1 para a coluna2
* Para modificar o tipo de coluna de string para int :( Verifique se os dados estão no formato correto )
fonte
Na edição compacta, o tamanho será automaticamente alterado para o tipo de dados datetime, ou seja, (8), portanto, não é necessário definir o tamanho do campo e gerar erros para esta operação ...
fonte
Posso modificar o tipo de dados do campo da tabela, com as seguintes consultas: e também no banco de dados Oracle,
fonte
Substitua o tipo de dados sem perder dados
fonte