...Är det bara jag som gör fel eller kan man ej ställa ett vilkor där något inte får vara null? Skulle det inte kunna fungera med? Hej, table.col is null respektive table.col is not null funkade perfekt tackar för svar! IS NULL är ingen funktion, det är en operator. Eftersom NULL innebär ett värde man ej känner till (eller ett icke-applicerbart värde på det specifika attributet) så kan ingenting vara lika med (eller skiljt från) NULL, eftersom man helt enkelt inte kan veta om det är så. Däremot kan man använda IS NULL (och IS NOT NULL) för att kontrollera om 'värdet' i en kolumn är NULL (dvs okänt och/eller icke-applicerbart) eller ej.where col != null
<code>
use [jbg.net]
go
if exists(select name from sysobjects where name='view_Directories')
drop view view_Directories
go
create view view_Directories as
select tblDirectories.* from tblDirectories inner join tblUsers on
tblUsers.usrAccount = user
where tblDirectories.dirOwner = tblUsers.usrIdent and
--Denna rad ställer till det för mig.
tblDirectories.dirParent != null
go
</code>
Gör jag fel eller kan man ej ställe ett vilkor som beror på null värden?Sv: where col != null
IsNull(tblDirectories.dirParent, något_värde_som_inte_förekommer_i_fältet) = något_värde_som_inte_förekommer_i_fältet
/JohanSv: where col != null
Finns två funktioner "is null" och isnull. Is Null kontrollerar det du vill i det här fallet isnull(inparameter, omNullErsättMed) kan du använda vid ersättning om du har ett
villkor som du vill jämföra med, då vill man oftast ersätta med 0.
/EmmaSv: where col != null
Sv: where col != null
ISNULL() och COALESCE() är två metoder som används för att byta ut NULL mot ett annat värde. Jag rekommenderar att man använder COALESCE eftersom den är ANSI-standard och därmed fungerar även i andra DBMS, samt att man där kan ange flera uttryck där det första icke-NULL används.