Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come convertire una colonna varchar in una colonna di bit in SQL SERVER

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!