Ich vermute, dass im Feld 'Flag1' neben 'true' und 'false' noch weitere Werte stehen. Überprüfen Sie also die Werte in Flag1.
Wählen Sie ein eindeutiges Flag1 von YouTable aus.
Hier ist mein Beweis:
declare @Flag varchar(25) = 'False'
select CONVERT(Bit, @Flag)
Es funktioniert gut.
Dies führt jedoch zu demselben Fehler.
declare @Flag varchar(25) = ' False' -- Pay attention to the the space in ' False'!
select CONVERT(Bit, @Flag)
-> Msg 245, Level 16, State 1, Line 2Conversion failed when converting the varchar value 'False' to data type bit.
Achten Sie auf das Leerzeichen in 'False' in der Fehlermeldung!