Jeg formoder, at der er andre værdier ud over 'true' og 'false' i feltet 'Flag1'. Så tjek for værdierne i Flag1.
vælg distinkt Flag1 fra YouTable.
Her er mit bevis:
declare @Flag varchar(25) = 'False'
select CONVERT(Bit, @Flag)
Det fungerer fint.
Dette vil dog give den samme fejl.
declare @Flag varchar(25) = ' False' -- Pay attention to the the space in ' False'!
select CONVERT(Bit, @Flag)
-> Besked 245, niveau 16, tilstand 1, linje 2 Konvertering mislykkedes ved konvertering af varchar-værdien 'Falsk' til datatypebit.
Vær opmærksom på mellemrummet i 'Falsk' i fejlmeddelelsen!