sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo convertir una columna varchar en una columna de bits en SQL SERVER

Sospecho que hay otros valores además de 'verdadero' y 'falso' en el campo 'Flag1'. Así que revisa los valores en Flag1.

seleccione Flag1 distinto de YouTable.

Aquí está mi prueba:

declare @Flag varchar(25) = 'False'
select CONVERT(Bit, @Flag)

Funciona bien.

Sin embargo, esto dará el mismo error.

declare @Flag varchar(25) = '  False' -- Pay attention to the the space in '  False'!
select CONVERT(Bit, @Flag)

-> Msg 245, Nivel 16, Estado 1, Línea 2La conversión falló al convertir el valor varchar 'False' al bit de tipo de datos.

¡Presta atención al espacio en 'Falso' en el mensaje de error!