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 !