sql >> Database >  >> RDS >> Sqlserver

Query uitvoeren op SQL Server met IN (NULL) werkt niet

De enige geldige vergelijkingsbewerkingen met NULL waarden zijn IS NULL of IS NOT NULL , anderen retourneren altijd false (eigenlijk - Onbekend, zie de opmerking van @Damien_The_Unbeliever)

Probeer dus het volgende

CREATE TYPE [dbo].[BitType] AS TABLE(
    [B] [tinyint] NOT NULL
)
GO
declare @theBitTypeTable BitType

insert @theBitTypeTable
VALUES(0), (2 /* instead of NULL*/)

SELECT something FROM theTable WHERE IsNull(cast(item as tinyint), 2) IN (select B from @theBitTypeTable)


  1. hoe XML-waardeveld te extraheren met in sql-server (extractvalue-functie in mysql)

  2. Primefaces 5.0-diagrammen - hoe u diagrammodellen en series dynamisch kunt maken, volledig op basis van databasewaarden

  3. Postgresql installeren met Homebrew en Rails op Mountain Lion

  4. Hoeveel kolommen in MySQL-tabel