Den " Count "-funksjonen i TSQL returnerer antall rader i en spørring . Imidlertid vil denne funksjonen bare telle disse postene der feltet ikke lest " NULL ". Å telle disse postene med kolonnene som ikke har data og er dermed å betrakte " NULL ," du må introdusere en annen funksjon , NULLIF , til din SQL-spørring . NULLIF funksjonen har to argumenter , som du vil erstatte med uttrykk eller tall når du bruker funksjonen : den returnerer en nullverdi hvis de to argumentene er like, ellers returnerer de første argumenter. Du trenger
SQL Server 2008
Vis flere instruksjoner
en
Klikk " Start", " Alle programmer " og deretter "SQL Server 2008 . " Klikk på " SQL Server Management Studio " for å velge det. Skriv inn brukernavn og passord for å logge inn ledelsen studio . Klikk " Databaser " på " Object Explorer " for å utvide databasen. Finn og klikk den ønskede database .
2
Høyreklikk på " bord" og deretter " Ny tabell " for å opprette en ny tabell kalt "elementer . " Lag tre felt: "id ", " name " og " sold_out " ved å klikke på et tomt felt og skrive inn et navn for feltet . Klikk på " datatypekrav " drop-down alternativene ved siden av feltet navn , og velg " varchar " type for "id "-feltet . Tilsvarende satt "navn" felt som " varchar " datatype og deretter sette det tredje feltet som " int " type .
3
Klikk på " Ny spørring " på ruten til høyre i vinduet. Skriv inn følgende kode :
Sett inn elementer ( id , navn) Verdier ( 1 , " item1 " , Null )
Sett inn elementer ( id , navn ) Verdier ( 2 , " item2 " , 1 )
Sett inn elementer ( id , navn) Verdier ( 3, " item3 " , 1)
Klikk " Execution " for å utføre søket . Denne kommandoen vil sette inn tre poster i tabellen .
4
Skriv inn følgende kode for å telle elementet som ikke er utsolgt . Den " sold_out "-kolonnen i " elementer " tabellen viser om varen er utsolgt , med verdien "1" i kolonnen indikerer en vare er utsolgt og " 0 " indikerer elementet er fortsatt på lager .
< P > Velg id , etter
(
Count ( * ) AS ITEM_COUNT , etter
)
(
Count ( NULLIF ( 1 , sold_out ) )
) AS item_not_sold_out
verdien av sold_out i den første posten er NULL . Den NULLIF funksjonen returnerer " 1" for den første posten . «Greven» vil telle det. Antallet telling vil bli registrert i en kolonne med tittelen " item_not_sold_out . "