Jag misstänker att det finns andra värden utöver 'true' och 'false' i fältet 'Flag1'. Så kolla efter värdena i Flag1.
välj distinkt Flagga1 från YouTable.
Här är mitt bevis:
declare @Flag varchar(25) = 'False'
select CONVERT(Bit, @Flag)
Det fungerar bra.
Detta kommer dock att ge samma fel.
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 misslyckades vid konvertering av varchar-värdet ' False' till datatypbit.
Var uppmärksam på utrymmet i ' False' i felmeddelandet!