sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man konverterar en varchar-kolumn till bitkolumn i SQL SERVER

Jag misstänker att det finns andra värden utöver 'true' och 'false' i fältet 'Flag1'. Så kolla efter värdena i Flag1.

välj distinkt Flagga1 från YouTable.

Här är mitt bevis:

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

Det fungerar bra.

Detta kommer dock att ge samma fel.

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 misslyckades vid konvertering av varchar-värdet ' False' till datatypbit.

Var uppmärksam på utrymmet i ' False' i felmeddelandet!



  1. SQL-fråga för att ta bort dubbletter av värden i en inre koppling med 3 tabeller med två olika databaser

  2. SQL QUERY flera sökningar på en rad för att hitta data från en annan rad i samma tabell

  3. Rekursiv SQL och information på olika nivåer

  4. Matlab och MySQL hittade ingen lämplig drivrutin