Mám podezření, že v poli 'Flag1' jsou kromě 'true' a 'false' ještě další hodnoty. Zkontrolujte tedy hodnoty v Flag1.
vyberte odlišný Flag1 z YouTable.
Zde je můj důkaz:
declare @Flag varchar(25) = 'False'
select CONVERT(Bit, @Flag)
Funguje to dobře.
To však způsobí stejnou chybu.
declare @Flag varchar(25) = ' False' -- Pay attention to the the space in ' False'!
select CONVERT(Bit, @Flag)
-> Zpráva 245, úroveň 16, stav 1, řádek 2 Konverze se nezdařila při převodu hodnoty varchar 'False' na bit datového typu.
Věnujte pozornost mezerě v 'False' v chybové zprávě!