sql >> Database >  >> RDS >> Sqlserver

Een varchar-kolom converteren naar een bitkolom in SQL SERVER

Ik vermoed dat er naast 'true' en 'false' nog andere waarden in het veld 'Flag1' staan. Kijk dus naar de waarden in Flag1.

selecteer verschillende Flag1 van YouTable.

Hier is mijn bewijs:

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

Het werkt prima.

Dit geeft echter dezelfde fout.

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 mislukt bij het converteren van de varchar-waarde ' False' naar datatype bit.

Let op de spatie in ' False' in de foutmelding!



  1. fout 1064 (42000) tijdens het uitvoeren van de opdracht mysqldump

  2. Vervanger voor MySQL-variabelen in PostgreSQL?

  3. Mysql-query doorzoek een tekenreeks in alle kolommen van een tabel

  4. DATE opzoektabel (1990/01/01:2041/12/31)