---
title: "Urval som inte ger några resultat"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/191499-urval-som-inte-ger-några-resultat"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "prplxr"
published: "2013-07-09T07:02:56.000Z"
updated: "2013-07-09T08:25:56.000Z"
replies: 3
views: 1075
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/191499-urval-som-inte-ger-några-resultat"
---

# Urval som inte ger några resultat

## #1 — prplxr, 2013-07-09T07:02Z

Så var det dags igen. Återigen sitter jag och har stirrat flera timmar utan att se vad jag kan ha gjort för fel. Har en SQL-fråga som jag tycker BORDE ge en massa resultat som ser ut som följer:

```
SELECT * FROM tblforetag 
WHERE (id = 'test' OR foretag LIKE '%test%') 
AND (tillhoer_s = NULL OR tillhoer_s = 0) 
LIMIT 50;
```

...fungerar inte.

```
SELECT * FROM tblforetag 
WHERE (id = 'test' OR foretag LIKE '%test%') 
LIMIT 50;
```

...fungerar dock.

tillhoer_s ser ur såhär:

```
`tillhoer_s` INT(11) NULL DEFAULT NULL
```

Någon som har någon idé?

Permalänk: https://www.webforum.nu/p/191499

## #2 — metalboy, 2013-07-09T08:08Z

Använd **IS NULL** istället för **\=NULL**

Permalänk: https://www.webforum.nu/p/2313059

## #3 — nitro2k01, 2013-07-09T08:15Z

Du kan inte testa för **NULL** med **\=**. **NULL** är ett specialvärde som du måste använda **IS NULL** för att testa mot. Vidare, har du faktiskt några rader där **tillhoer_s = 0**, eller testar du bara? Alla jämförelse med **null**, med "vanliga" operatorer returnerar **false**. Om en kolumn är **NULL** så är **c = 0**, **c \< 0**, **c \> 0** och **c \<\> 0** alla falska påståenden. (Samma sak för alla andra värden än **0** också.) Du får tänka dig att **null** är avsaknaden av ett värde, så vad du än jämför med så kan databasen inte uttala sig, och returnerar **false**.

Hursomhelst, kod för sakens skull:

```
SELECT * FROM tblforetag 
WHERE (id = 'test' OR foretag LIKE '%test%') 
AND (tillhoer_s IS NULL OR tillhoer_s = 0)
LIMIT 50;
```

Permalänk: https://www.webforum.nu/p/2313061

## #4 — prplxr, 2013-07-09T08:25Z

\*Tar på mig struten och ställer mig i hörnet\*

Tack! :)

Permalänk: https://www.webforum.nu/p/2313062

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/191499-urval-som-inte-ger-några-resultat
