Changer le type de colonne sans perdre de données
Je suis en train de travailler sur une Base de données SQL, j'ai une colonne nommée "Prix". Lorsque la base de données a été créée la colonne "Prix" a été mis à NVARCHAR
j'ai besoin de changer son type de decimal(18, 2)
sans perdre les données dans la base de données. Cela devrait être fait par un Script SQL
J'ai pensé à la création d'une nouvelle colonne, déplacer les données, supprimer l'ancienne colonne, puis renommez le nouvellement créé colonne.
Quelqu'un peut m'aider avec un exemple sur la façon de faire cela?
Aussi est-il une fonction en SQL pour Analyser la chaîne décimale?
Grâce
source d'informationauteur Youssef | 2012-06-11
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin d'ajouter une nouvelle colonne à deux reprises, il suffit de retirer la vieille après la mise à jour de la nouvelle:
Noter que si le
old_column_name
n'est pas numérique, laconvert
peut échouer.Quelque Chose Comme
Si le ci-dessus échoue, alors vous aurez besoin de boeuf en place pour traiter les funnies
Une fois que vous êtes heureux de chute de l'ancienne colonne avec un Alter Table et renommez la nouvelle avec
sp_rename
Vous pouvez faire ces changements visuellement à l'aide de Management Studio. Ensuite, utilisez le bouton "Générer un Script de Modification" pour obtenir le script pour que les modifications que vous avez apportées. Assurez-vous de faire tous les tests dans une copie de l'original ddbb, dans le cas où quelque chose va mal..
Si vous voulez juste changer de colonne du type de données, vous pouvez le faire comme ça=>
J'ai déjà tester sur SQL server 2012 et de son travail.