Ik vermoed dat er naast 'true' en 'false' nog andere waarden in het veld 'Flag1' staan. Kijk dus naar de waarden in Flag1.
selecteer verschillende Flag1 van YouTable.
Hier is mijn bewijs:
declare @Flag varchar(25) = 'False'
select CONVERT(Bit, @Flag)
Het werkt prima.
Dit geeft echter dezelfde fout.
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 mislukt bij het converteren van de varchar-waarde ' False' naar datatype bit.
Let op de spatie in ' False' in de foutmelding!