Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment convertir une colonne varchar en colonne bit dans SQL SERVER

Je soupçonne qu'il existe d'autres valeurs en plus de 'true' et 'false' dans le champ 'Flag1'. Vérifiez donc les valeurs dans Flag1.

sélectionnez Flag1 distinct de YouTable.

Voici ma preuve :

declare @Flag varchar(25) = 'False'
select CONVERT(Bit, @Flag)

Cela fonctionne bien.

Cependant, cela donnera la même erreur.

declare @Flag varchar(25) = '  False' -- Pay attention to the the space in '  False'!
select CONVERT(Bit, @Flag)

-> Msg 245, Niveau 16, État 1, Ligne 2La conversion a échoué lors de la conversion de la valeur varchar 'Faux' en bit de type de données.

Faites attention à l'espace entre 'Faux' dans le message d'erreur !