sql >> Databáze >  >> RDS >> Sqlserver

Jak převést sloupec varchar na bitový sloupec v SQL SERVER

Mám podezření, že v poli 'Flag1' jsou kromě 'true' a 'false' ještě další hodnoty. Zkontrolujte tedy hodnoty v Flag1.

vyberte odlišný Flag1 z YouTable.

Zde je můj důkaz:

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

Funguje to dobře.

To však způsobí stejnou chybu.

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

-> Zpráva 245, úroveň 16, stav 1, řádek 2 Konverze se nezdařila při převodu hodnoty varchar 'False' na bit datového typu.

Věnujte pozornost mezerě v 'False' v chybové zprávě!



  1. ID zdroje #5:MySQL

  2. Dotaz ve více databázích na stejném serveru

  3. ORACLE Výkon vkládání na indexované tabulky

  4. Bezpečnostní třída v Codeigniter