Convertir colonne de bits en entier
Je suis la conversion bits colonnes d'un tableau d'entier par le biais d'un script SQL (ce tableau a quelques contraintes par défaut pour la valeur par défaut).
- Je modifier le nombre de colonnes de la table, pas d'exécution de la coulée, Ce script peut être utilisé pour accomplir cette?
U ne ont aucune valeur par défaut définie sur la colonne de la table ? Afin de voir essayer de voir créer la structure de la table
Je suppose que vous ne pouvez pas utiliser la Gestion du Studio, est-ce correct ?
Je suppose que vous ne pouvez pas utiliser la Gestion du Studio, est-ce correct ?
OriginalL'auteur steave finner | 2012-07-26
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser
CAST(columnName AS INT) AS IntValue
.par exemple
OU vous pouvez utiliser
CONVERT(INT, columnName) AS IntValue
.Mise à JOUR: Si vous avez besoin de modifier la réalité des métadonnées de la table, alors vous devez d'abord déposer les contraintes d'altérer la colonne:
c'est à dire
Puis recréer toutes les contraintes que vous avez besoin.
OriginalL'auteur tobias86
Si vous êtes inquiet au sujet de changer le type de données de la colonne, vous pouvez utiliser un ALTER requête comme suit.
D'autre, uniquement à des fins d'affichage, vous pouvez utiliser le
CAST
ouCONVERT
fonction:désolé j'ai oublié de vous mentionner , si tu veux modifier une colonne , la colonne ne doit pas contenir de valeurs et de sa dépendance de table aussi
OriginalL'auteur Esh
SÉLECTIONNEZ CONVERTIR(BIT,'False') test1
SÉLECTIONNEZ l'option CONVERTIR en(BIT,'True') en tant QUE test2
OriginalL'auteur Thaanuja
Nous ne pouvons pas tout simplement modifier le BIT de la colonne de type INT. Je suggère donc de créer la nouvelle colonne de type integer dans la table, puis à l'aide de la distribution, de mise à jour de la nouvelle colonne de type entier avec le peu de valeurs. Puis à la fin, vous pouvez laisser tomber le morceau de colonne de la table.
OriginalL'auteur AnandPhadke
Enfin j'ai réussi à le faire fonctionner:
J'ai utilisé ci-dessus SQL pour modifier la colonne de la table avec son constructeur.
OriginalL'auteur steave finner
Je crois que vous pourriez extraire les bits de la colonne comme un entier en utilisant simplement la norme
CAST()
commande:Cependant, je ne suis pas sûr de comprendre ce que vous essayez d'atteindre, probablement, vous pourriez avoir une meilleure réponse si vous avez fourni plus de détails, tels que la structure de la table et de ses contraintes.
Maintenant c'est plus clair. Dans de tels cas, vous pouvez voir la réponse postée par ?Esh, il devrait faire tout ce que vous cherchez. Vous avez juste à ajouter la contrainte de la commande ALTER.
je l'ai fait déjà, mais les contraintes par défaut associé au champ n'est pas ce qui me permet de modifier la colonne de la table..
Pourriez-vous s'il vous plaît poster la CRÉER un script pour la table et ses contraintes, ainsi que de certains états d'INSERTION? Il permet de reproduire votre environnement et de tester les solutions possibles. Merci.
OriginalL'auteur Diego
Vous obtenez une erreur liée à un défaut de contrainte. Vous devez donc laisser tomber cette contrainte avant de modifier le type de données de colonne...
Essayez ceci pour trouver toutes les contraintes en se basant sur ce tableau (vous avez juste besoin de trouver la bonne valeur par défaut sur votre colonne) ou de l'utilisation SQL Server Management Studio (SSMS) pour générer le script de la table, et ce sera la contrainte par défaut de définition.
Alors tout d'abord supprimer la contrainte et ensuite modifier la colonne et d'ajouter de la valeur par défaut de nouveau.
OriginalL'auteur Gulli Meel