Sospetto che ci siano altri valori oltre a "true" e "false" nel campo "Flag1". Quindi controlla i valori in Flag1.
seleziona Flag1 distinto da YouTable.
Ecco la mia prova:
declare @Flag varchar(25) = 'False'
select CONVERT(Bit, @Flag)
Funziona bene.
Tuttavia, questo darà lo stesso errore.
declare @Flag varchar(25) = ' False' -- Pay attention to the the space in ' False'!
select CONVERT(Bit, @Flag)
-> Msg 245, livello 16, stato 1, riga 2Conversione non riuscita durante la conversione del valore varchar ' False' nel bit del tipo di dati.
Presta attenzione allo spazio in 'Falso' nel messaggio di errore!